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实现将内容分行输出
Nov 05 Python
Python常用的内置序列结构(列表、元组、字典)学习笔记
Jul 08 Python
利用Python命令行传递实例化对象的方法
Nov 02 Python
Python3简单实例计算同花的概率代码
Dec 06 Python
100行Python代码实现自动抢火车票(附源码)
Jan 11 Python
Golang GBK转UTF-8的例子
Aug 26 Python
python django生成迁移文件的实例
Aug 31 Python
学习Python列表的基础知识汇总
Mar 10 Python
Python3 Tensorlfow:增加或者减小矩阵维度的实现
May 22 Python
python实现企业微信定时发送文本消息的实例代码
Nov 25 Python
python实现股票历史数据可视化分析案例
Jun 10 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/05/09 PHP
php环境无法上传文件的解决方法
2014/04/30 PHP
使用PHP编写发红包程序
2015/07/22 PHP
PHP之图片上传类实例代码(加了缩略图)
2016/06/30 PHP
PHP面向对象程序设计组合模式与装饰模式详解
2016/12/02 PHP
50款非常棒的 jQuery 插件分享
2012/03/29 Javascript
js 为label标签和div标签赋值的方法
2013/08/08 Javascript
JavaScript strike方法入门实例(给字符串加上删除线)
2014/10/17 Javascript
通过JS判断联网类型和连接状态的实现代码
2015/04/01 Javascript
深入浅析JavaScript中with语句的理解
2016/05/12 Javascript
AngularJS基础 ng-paste 指令简单示例
2016/08/02 Javascript
js如何判断是否在iframe中及防止网页被别站用iframe嵌套
2017/01/11 Javascript
Vue2.0 UI框架ElementUI使用方法详解
2017/04/14 Javascript
浅谈React Native Flexbox布局(小结)
2018/01/08 Javascript
JavaScript如何实现元素全排列实例代码
2019/05/14 Javascript
微信小程序开发搜索功能实现(前端+后端+数据库)
2020/03/04 Javascript
详解node.js创建一个web服务器(Server)的详细步骤
2021/01/15 Javascript
[01:33]DOTA2上海特级锦标赛 LIQUID战队完整宣传片
2016/03/16 DOTA
Python使用pymysql小技巧
2017/06/04 Python
Python通过OpenCV的findContours获取轮廓并切割实例
2018/01/05 Python
DES加密解密算法之python实现版(图文并茂)
2018/12/06 Python
python读取.mat文件的数据及实例代码
2019/07/12 Python
python输入一个水仙花数(三位数) 输出百位十位个位实例
2020/05/03 Python
Python模块zipfile原理及使用方法详解
2020/08/04 Python
Python unittest如何生成HTMLTestRunner模块
2020/09/08 Python
python requests库的使用
2021/01/06 Python
Spanx塑身衣官网:美国知名内衣品牌
2017/01/11 全球购物
爱尔兰电脑、家电和家具购物网站:Buy It Direct
2019/07/09 全球购物
澳大利亚在线购买葡萄酒:The Wine Collective
2020/02/20 全球购物
商务英语专业毕业生求职信
2014/07/06 职场文书
海洋科学专业求职信
2014/08/10 职场文书
银行党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
教师群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
2015年小学教科研工作总结
2015/07/20 职场文书
食堂卫生管理制度
2015/08/04 职场文书
人事行政部各岗位职责说明书!
2019/07/15 职场文书