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中的__new__与__init__魔术方法理解笔记
Nov 08 Python
玩转python爬虫之爬取糗事百科段子
Feb 17 Python
详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别
Jun 23 Python
Python 逐行分割大txt文件的方法
Oct 10 Python
python自动截取需要区域,进行图像识别的方法
May 17 Python
python实现键盘控制鼠标移动
Nov 27 Python
Python Pandas中根据列的值选取多行数据
Jul 08 Python
Python使用itchat 功能分析微信好友性别和位置
Aug 05 Python
python模拟哔哩哔哩滑块登入验证的实现
Apr 24 Python
使用Keras实现Tensor的相乘和相加代码
Jun 18 Python
如何解决cmd运行python提示不是内部命令
Jul 01 Python
安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法
Aug 18 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实现图象锐化代码
2007/06/14 PHP
php 页面执行时间计算代码
2008/12/04 PHP
thinkPHP简单实现多个子查询语句的方法
2016/12/05 PHP
iis6手工创建网站后无法运行php脚本的解决方法
2017/06/08 PHP
tp5框架的增删改查操作示例
2019/10/31 PHP
JS中简单的实现像C#中using功能(有源码下载)
2007/01/09 Javascript
基于jquery的3d效果实现代码
2011/03/23 Javascript
表单切换,用回车键替换Tab健(不支持IE)
2011/07/20 Javascript
jquery网页元素拖拽插件效果及实现
2013/08/05 Javascript
深入理解javascript的执行顺序
2014/04/04 Javascript
jQuery中bind(),live(),delegate(),on()绑定事件方法实例详解
2016/01/19 Javascript
jQuery实现根据滚动条位置加载相应内容功能
2016/07/18 Javascript
微信小程序 购物车简单实例
2016/10/24 Javascript
Vue.js创建Calendar日历效果
2016/11/03 Javascript
详解angular应用容器化部署
2018/08/14 Javascript
详解如何为你的angular app构建一个第三方库
2018/12/07 Javascript
150行代码带你实现微信小程序中的数据侦听
2019/05/17 Javascript
Vue的props父传子的示例代码
2020/05/20 Javascript
html-webpack-plugin修改页面的title的方法
2020/06/18 Javascript
ES6中的类(Class)示例详解
2020/12/09 Javascript
python中使用sys模板和logging模块获取行号和函数名的方法
2014/04/15 Python
Python实现的栈、队列、文件目录遍历操作示例
2019/05/06 Python
python 机器学习之支持向量机非线性回归SVR模型
2019/06/26 Python
基于django传递数据到后端的例子
2019/08/16 Python
Python如何把Spark数据写入ElasticSearch
2020/04/18 Python
如何基于Python爬取隐秘的角落评论
2020/07/02 Python
AHAVA美国官方网站:死海海泥护肤品牌
2016/10/18 全球购物
美国在线面料商店:Online Fabric Store
2018/07/26 全球购物
绿色美容,有机护肤品和化妆品:Safe & Chic
2018/10/29 全球购物
什么是数组名
2012/05/10 面试题
爱国演讲稿400字
2014/05/07 职场文书
运动会稿件100字
2014/09/24 职场文书
党员转正申请报告
2015/05/15 职场文书
Python实现学生管理系统并生成exe可执行文件详解流程
2022/01/22 Python
分享MySQL常用 内核 Debug 几种常见方法
2022/03/17 MySQL
【D4DJ】美少女DJ企划 动画将于明年冬季开播第2季
2022/04/11 日漫