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 深入理解yield
Sep 06 Python
Django中ORM表的创建和增删改查方法示例
Nov 15 Python
完美解决Python 2.7不能正常使用pip install的问题
Jun 12 Python
利用Python正则表达式过滤敏感词的方法
Jan 21 Python
Python求均值,方差,标准差的实例
Jun 29 Python
解决django 新增加用户信息出现错误的问题
Jul 28 Python
tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
Jan 04 Python
Windows系统下pycharm中的pip换源
Feb 23 Python
Python xlwt模块使用代码实例
Jun 10 Python
keras 简单 lstm实例(基于one-hot编码)
Jul 02 Python
Pytorch之扩充tensor的操作
Mar 04 Python
python 实现mysql自动增删分区的方法
Apr 01 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框架Phpbean说明
2008/01/10 PHP
discuz Passport 通行证 整合笔记
2008/06/30 PHP
彻底杜绝PHP的session cookie错误
2009/08/09 PHP
Linux下手动编译安装PHP扩展的例子分享
2014/07/15 PHP
php清空(删除)指定目录下的文件,不删除目录文件夹的实现代码
2014/09/04 PHP
php采用session实现防止页面重复刷新
2015/12/24 PHP
laravel5.1框架model类查询的实现方法
2019/10/08 PHP
前端开发的开始---基于面向对象的Ajax类
2010/09/17 Javascript
js实现的常用的左侧导航效果
2013/10/17 Javascript
Jquery修改页面标题title其它JS失效的解决方法
2014/10/31 Javascript
JS简单实现城市二级联动选择插件的方法
2015/08/19 Javascript
javascript实现tab切换的四种方法
2015/11/05 Javascript
jquery实现二级导航下拉菜单效果
2015/12/18 Javascript
AngularJs动态加载模块和依赖注入详解
2016/01/11 Javascript
如何判断Javascript对象是否存在的简单实例
2016/05/18 Javascript
jQuery实例—选项卡的简单实现(js源码和jQuery)
2016/06/14 Javascript
JavaScript实现移动端滑动选择日期功能
2016/06/21 Javascript
Nodejs抓取html页面内容(推荐)
2016/08/11 NodeJs
JS克隆,属性,数组,对象,函数实例分析
2016/11/26 Javascript
jquery select插件异步实时搜索实例代码
2017/10/20 jQuery
vue2.0与bootstrap3实现列表分页效果
2017/11/28 Javascript
详解如何在微信小程序中愉快地使用sass
2018/07/30 Javascript
使用express来代理服务的方法
2019/06/21 Javascript
Node.js 实现简单的无侵入式缓存框架的方法
2019/07/21 Javascript
前端vue-cli项目中使用img图片和background背景图的几种方法
2019/11/13 Javascript
python的命名规则知识点总结
2019/10/04 Python
瑞典快乐袜子:Happy Socks
2018/02/16 全球购物
美国狗旅行和户外用品领先供应商:kurgo
2020/08/18 全球购物
传播学专业毕业生自荐信
2013/11/04 职场文书
采购人员的个人自我评价
2014/01/16 职场文书
预备党员转正意见
2015/06/01 职场文书
员工旷工检讨书
2015/08/15 职场文书
校长新学期寄语2016
2015/12/04 职场文书
「Manga Time Kirara MAX」2022年5月号封面公开
2022/03/21 日漫
SQL Server使用导出向导功能
2022/04/08 SQL Server