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 15 Python
tensorflow获取变量维度信息
Mar 10 Python
python实现批量图片格式转换
Jun 16 Python
Python实现压缩文件夹与解压缩zip文件的方法
Sep 01 Python
Python列表与元组的异同详解
Jul 02 Python
Django+python服务器部署与环境部署教程详解
Mar 30 Python
可视化pytorch 模型中不同BN层的running mean曲线实例
Jun 24 Python
Python3爬虫中关于Ajax分析方法的总结
Jul 10 Python
python3 googletrans超时报错问题及翻译工具优化方案 附源码
Dec 23 Python
python中lower函数实现方法及用法讲解
Dec 23 Python
python3美化表格数据输出结果的实现代码
Apr 14 Python
python中opencv实现图片文本倾斜校正
Jun 11 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中将网址转换为超链接的函数
2011/09/02 PHP
php实现约瑟夫问题的方法小结
2015/03/23 PHP
PHP中使用curl入门教程
2015/07/02 PHP
php里array_work用法实例分析
2015/07/13 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
2016/01/05 PHP
php读取本地json文件的实例
2018/03/07 PHP
DLL+ ActiveX控件+WEB页面调用例子
2010/08/07 Javascript
JavaScript学习笔记之创建对象
2016/03/25 Javascript
javascript函数中的3个高级技巧
2016/09/22 Javascript
jQuery实现根据生日计算年龄 星座 生肖
2016/11/23 Javascript
通过V8源码看一个关于JS数组排序的诡异问题
2017/08/14 Javascript
基于require.js的使用(实例讲解)
2017/09/07 Javascript
React Native 真机断点调试+跨域资源加载出错问题的解决方法
2018/01/18 Javascript
vue2.0使用v-for循环制作多级嵌套菜单栏
2018/06/25 Javascript
微信小程序实现列表页的点赞和取消点赞功能
2018/11/02 Javascript
Node+OCR实现图像文字识别功能
2018/11/26 Javascript
详解单页面路由工程使用微信分享及二次分享解决方案
2019/02/22 Javascript
Node.js + express基本用法教程
2019/03/14 Javascript
Python 字符串中的字符倒转
2008/09/06 Python
PyQt5打开文件对话框QFileDialog实例代码
2018/02/07 Python
python3 字符串/列表/元组(str/list/tuple)相互转换方法及join()函数的使用
2019/04/03 Python
Python生命游戏实现原理及过程解析(附源代码)
2019/08/01 Python
对python中的*args与**kwgs的含义与作用详解
2019/08/28 Python
Python 中list ,set,dict的大规模查找效率对比详解
2019/10/11 Python
Python如何读取、写入CSV数据
2020/07/28 Python
CSS3,线性渐变(linear-gradient)的使用总结
2017/01/09 HTML / CSS
iphoneX 适配客户端H5页面的方法教程
2017/12/08 HTML / CSS
Oakley西班牙官方商店:太阳眼镜和男女运动服
2019/04/26 全球购物
设计师个人求职信范文
2014/02/02 职场文书
打造高效课堂实施方案
2014/03/22 职场文书
党的群众路线教育实践活动党员个人整改措施
2014/10/27 职场文书
2014年双拥工作总结
2014/11/21 职场文书
初一数学教学反思
2016/02/17 职场文书
MySQL索引篇之千万级数据实战测试
2021/04/05 MySQL
python中mongodb包操作数据库
2022/04/19 Python
win10系统xps文件怎么打开?win10打开xps文件的两种操作方法
2022/07/23 数码科技