Python+OpenCV图片局部区域像素值处理改进版详解


Posted in Python onJanuary 23, 2019

上个版本的Python OpenCV图片局部区域像素值处理,虽然实现了我需要的功能,但还是走了很多弯路,我意识到图片本就是数组形式,对于8位灰度图,通道数为1,它就是个二位数组,这样就没有必要再设置ROI区域,复制出来这块区域再循环提取像素存入数组进行处理了,可以直接将图片存入数组,再利用numpy进行切分相应的数组操作就可以了,这样一想就简单很多了,这篇我会贴出修改后的代码,直接省去了大段的代码啊。

ps:这次我重新装的opencv3.2.0版本,代码里面直接用cv2了

# 查看opencv版本,终端输入:
$ pkg-config --modversion opencv

cv_img_cv2.py

# -*- coding:utf-8 -*-
__author__ = 'lwp'

import cv2
import numpy as np
import matplotlib.pyplot as plt
 
path ='/media/lwp/A/111111.jpg' # 图片路径
lwpImg = cv2.imread(path) # 加载图片
gray_lwpImg = cv2.cvtColor(lwpImg, cv2.COLOR_BGR2GRAY) # 转为灰度图

# 画目标区域,参数分别为图片、左上坐标、右下坐标、框的颜色、框线条的粗细
lwpImg = cv2.rectangle(lwpImg, (290, 0), (310, 327), (0, 255, 0), 2) 
# 显示标记后的图片
cv2.imshow('local_pixel', lwpImg) 

# 提取图片像素值到矩阵
pixel_data = np.array(gray_lwpImg)
# 提取目标区域
box_data = pixel_data[:, 290:310]
# 矩阵行求和
pixel_sum = np.sum(box_data, axis=1)

# 画图
x = range(576)
fig = plt.figure(figsize=(4, 2))
ax1 = fig.add_subplot(1, 1, 1)
ax1.bar(x, pixel_sum, width=1) # x为每个条形到x轴0点的距离,width为每个条的宽度
plt.xlabel('X')
plt.ylabel('Y')
plt.title('edge_filter')
plt.grid(True)
plt.show()

key = cv2.waitKey(0) & 0xFF
if key == ord('q'): # 按q关闭窗口
  cv2.destroyAllWindows()

效果:

Python+OpenCV图片局部区域像素值处理改进版详解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python设计足球联赛赛程表程序的思路与简单实现示例
Jun 28 Python
利用Python命令行传递实例化对象的方法
Nov 02 Python
Python数据结构之顺序表的实现代码示例
Nov 15 Python
神经网络python源码分享
Dec 15 Python
Python字典的基本用法实例分析【创建、增加、获取、修改、删除】
Mar 05 Python
详解Python3 基本数据类型
Apr 19 Python
python 公共方法汇总解析
Sep 16 Python
Python SELENIUM上传文件或图片实现过程
Oct 28 Python
python 已知三条边求三角形的角度案例
Apr 12 Python
python 带时区的日期格式化操作
Oct 23 Python
Python3接口性能测试实例代码
Jun 20 Python
Python实现猜拳与猜数字游戏的方法详解
Apr 06 Python
selenium+python自动化测试之环境搭建
Jan 23 #Python
在python带权重的列表中随机取值的方法
Jan 23 #Python
Appium+Python自动化测试之运行App程序示例
Jan 23 #Python
Python+OpenCV图片局部区域像素值处理详解
Jan 23 #Python
Python实现查找数组中任意第k大的数字算法示例
Jan 23 #Python
Appium Python自动化测试之环境搭建的步骤
Jan 23 #Python
python读取图片任意范围区域
Jan 23 #Python
You might like
PHP初学者最感迷茫的问题小结
2010/03/27 PHP
php中通过正则表达式下载内容中的远程图片的函数代码
2012/01/10 PHP
PHPStorm+XDebug进行调试图文教程
2016/06/13 PHP
thinkPHP5框架设置404、403等http状态页面的方法
2018/06/05 PHP
PHP实现带进度条的Ajax文件上传功能示例
2019/07/02 PHP
解决thinkphp5未定义变量会抛出异常,页面错误,请稍后再试的问题
2019/10/16 PHP
如何快速的呈现我们的网页的技巧整理
2007/07/01 Javascript
js中parseFloat(参数1,参数2)定义和用法及注意事项
2013/01/27 Javascript
Extjs 继承Ext.data.Store不起作用原因分析及解决
2013/04/15 Javascript
jQuery实现的鼠标滑过弹出放大图片特效
2016/01/08 Javascript
js事件驱动机制 浏览器兼容处理方法
2016/07/23 Javascript
jQuery实现可编辑表格并生成json结果(实例代码)
2017/07/19 jQuery
一个简易时钟效果js实现代码
2020/03/25 Javascript
JavaScript程序设计高级算法之动态规划实例分析
2017/11/24 Javascript
layer.close()关闭进度条和Iframe窗的方法
2018/08/17 Javascript
详解基于Vue,Nginx的前后端不分离部署教程
2018/12/04 Javascript
JS扁平化输出数组的2种方法解析
2019/09/17 Javascript
vue+iview框架实现左侧动态菜单功能的示例代码
2020/07/23 Javascript
Python 字典与字符串的互转实例
2017/01/13 Python
pycharm下打开、执行并调试scrapy爬虫程序的方法
2017/11/29 Python
Python使用psutil获取进程信息的例子
2019/12/17 Python
Python爬虫爬取、解析数据操作示例
2020/03/27 Python
python logging.info在终端没输出的解决
2020/05/12 Python
python使用nibabel和sitk读取保存nii.gz文件实例
2020/07/01 Python
pycharm 使用tab跳出正在编辑的括号(){}{}等问题
2021/02/26 Python
Topshop法国官网:英国快速时尚品牌
2018/04/08 全球购物
小车司机岗位职责
2013/11/25 职场文书
小区门卫工作职责
2013/12/14 职场文书
护理专业大学生自我推荐信
2014/01/25 职场文书
工地标语大全
2014/06/18 职场文书
重阳节活动总结
2014/08/27 职场文书
公安交警中队队长个人对照检查材料思想汇报
2014/10/05 职场文书
聋哑人盗窃罪辩护词
2015/05/21 职场文书
优秀党员先进事迹材料2016
2016/02/29 职场文书
Python绘制地图神器folium的新人入门指南
2021/05/23 Python
PyTorch 如何检查模型梯度是否可导
2021/06/05 Python