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中使用socket发送HTTP请求数据接收不完整问题解决方法
Feb 04 Python
python使用pandas实现数据分割实例代码
Jan 25 Python
python装饰器-限制函数调用次数的方法(10s调用一次)
Apr 21 Python
基于python requests库中的代理实例讲解
May 07 Python
Python Series从0开始索引的方法
Nov 06 Python
Python2和Python3的共存和切换使用
Apr 12 Python
基于python实现雪花算法过程详解
Nov 16 Python
Tensorflow中的图(tf.Graph)和会话(tf.Session)的实现
Apr 22 Python
Python中and和or如何使用
May 28 Python
Python Django中间件使用原理及流程分析
Jun 13 Python
Pytorch中的学习率衰减及其用法详解
Jun 05 Python
Python绘制散乱的点构成的图的方法
Apr 21 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编写注册后Email激活验证的实例代码
2013/03/11 PHP
PHP实现UTF-8文件BOM自动检测与移除实例
2014/11/05 PHP
php+iframe 实现上传文件功能示例
2020/03/04 PHP
javascript offsetX与layerX区别
2010/03/12 Javascript
js 使用form表单select类实现级联菜单效果
2012/12/19 Javascript
JavaScript实现输入框(密码框)出现提示语
2016/01/12 Javascript
JavaScript获取对象在页面中位置坐标的方法
2016/02/03 Javascript
JavaScript 定时器 SetTimeout之定时刷新窗口和关闭窗口(代码超简单)
2016/02/26 Javascript
java中String类型变量的赋值问题介绍
2016/03/23 Javascript
EasyUI加载完Html内容样式渲染完成后显示
2016/07/25 Javascript
AngularJS中控制器函数的定义与使用方法示例
2017/10/10 Javascript
nodejs基于WS模块实现WebSocket聊天功能的方法
2018/01/12 NodeJs
Vue.js实现可配置的登录表单代码详解
2018/03/29 Javascript
vue项目中api接口管理总结
2018/04/20 Javascript
jQuery实现table表格信息的展开和缩小功能示例
2018/07/21 jQuery
Node.js命令行/批处理中如何更改Linux用户密码浅析
2018/07/22 Javascript
如何在Vue.js中实现标签页组件详解
2019/01/02 Javascript
微信小程序在ios下Echarts图表不能滑动的问题解决
2019/07/10 Javascript
javascript canvas实现简易时钟例子
2020/09/05 Javascript
Python线程详解
2015/06/24 Python
Python实现的Excel文件读写类
2015/07/30 Python
windows下python和pip安装教程
2018/05/25 Python
Python使用selenium + headless chrome获取网页内容的方法示例
2019/10/16 Python
css3中background新增的4个新的相关属性用法介绍
2013/09/26 HTML / CSS
HTML5 canvas基本绘图之绘制矩形
2016/06/27 HTML / CSS
使用HTML5里的classList操作CSS类
2016/06/28 HTML / CSS
HTML实现代码雨源码及效果示例
2020/02/25 HTML / CSS
店面销售职位的职责
2014/03/09 职场文书
带刀到教室的检讨书
2014/10/04 职场文书
钱塘江大潮导游词
2015/02/03 职场文书
索赔员岗位职责
2015/02/15 职场文书
学校计划生育责任书
2015/05/09 职场文书
在校证明模板
2015/06/17 职场文书
思品教学工作总结
2015/08/10 职场文书
2019年预备党员的思想汇报:加深对党的认知
2019/09/25 职场文书
Spring Boot实现文件上传下载
2022/08/14 Java/Android