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抓取某汽车网数据解析html存入excel示例
Dec 04 Python
Python中集合类型(set)学习小结
Jan 28 Python
在Python的struct模块中进行数据格式转换的方法
Jun 17 Python
Python竟能画这么漂亮的花,帅呆了(代码分享)
Nov 15 Python
在python中使用requests 模拟浏览器发送请求数据的方法
Dec 26 Python
python读取文件名并改名字的实例
Jan 07 Python
Python3 关于pycharm自动导入包快捷设置的方法
Jan 16 Python
python安装gdal的两种方法
Oct 29 Python
解决pycharm启动后总是不停的updating indices...indexing的问题
Nov 27 Python
python 基于卡方值分箱算法的实现示例
Jul 17 Python
python单元测试框架pytest的使用示例
Oct 07 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实现验证码功能
2006/10/09 PHP
PHP连接MySQL数据库并以json格式输出
2018/05/21 PHP
Yaf框架封装的MySQL数据库操作示例
2019/03/06 PHP
JavaScript中消除闭包的一般方法介绍
2015/03/16 Javascript
JSON字符串转JSON对象
2015/07/31 Javascript
JS实现方向键切换输入框焦点的方法
2015/08/19 Javascript
原生JS实现轮播效果+学前端的感受(防止走火入魔)
2016/08/21 Javascript
JS时间控制实现动态效果的实例讲解
2017/07/31 Javascript
jQuery实现菜单栏导航效果
2017/08/15 jQuery
JS中的Replace()传入函数时的用法详解
2017/09/11 Javascript
vue2.0 实现导航守卫的具体用法(路由守卫)
2018/05/17 Javascript
浅谈angular2子组件的事件传递(任意组件事件传递)
2018/09/30 Javascript
微信小程序实现预览图片功能
2020/10/22 Javascript
实例讲解JavaScript 计时事件
2020/07/04 Javascript
[38:23]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第二场 11.01
2020/11/02 DOTA
python目录操作之python遍历文件夹后将结果存储为xml
2014/01/27 Python
python使用PyGame绘制图像并保存为图片文件的方法
2015/04/24 Python
给Python中的MySQLdb模块添加超时功能的教程
2015/05/05 Python
python中实现精确的浮点数运算详解
2017/11/02 Python
Python编程实现蚁群算法详解
2017/11/13 Python
python使用xpath中遇到:到底是什么?
2018/01/04 Python
Python输出由1,2,3,4组成的互不相同且无重复的三位数
2018/02/01 Python
使用python存储网页上的图片实例
2018/05/22 Python
python发送邮件脚本
2018/05/22 Python
Python3 修改默认环境的方法
2019/02/16 Python
Pandas删除数据的几种情况(小结)
2019/06/21 Python
浅谈PyTorch的可重复性问题(如何使实验结果可复现)
2020/02/20 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
2020/04/16 Python
用python按照图像灰度值统计并筛选图片的操作(PIL,shutil,os)
2020/06/04 Python
Python第三方库安装缓慢的解决方法
2021/02/06 Python
亚马逊巴西站:Amazon.com.br
2019/09/22 全球购物
DBA的职责都有哪些
2012/05/16 面试题
承诺书格式
2014/06/03 职场文书
2014年仓库管理员工作总结
2014/11/18 职场文书
关于法制教育的宣传语
2015/07/13 职场文书
证婚人致辞精选
2015/07/28 职场文书