Python+OpenCV图片局部区域像素值处理改进版详解
作者:零尾 发布时间:2022-06-24 11:38:56
标签:python,图片,像素值
上个版本的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()
效果:
来源:https://blog.csdn.net/lwplwf/article/details/61201034
0
投稿
猜你喜欢
- 使用vue去请求接口发现问题来了:我请求只能请求一次,然后在按按钮去请求的时候发现502(这个是接口定义的)502就是传了空的值过来 这个是
- 本文实例讲述了用python实现面向对像的ASP程序的方法。分享给大家供大家参考。具体实现方法如下:平时我们写ASP时,一般都用vbscri
- 本文实例为大家分享了python使用tornado实现简单爬虫的具体代码,供大家参考,具体内容如下代码在官方文档的示例代码中有,但是作为一个
- 题目:来自Madrid且订单数少于3的消费者 建表:set nocount on --当 SET NOCOUNT 为
- K-means算法介绍简单来说,K-means算法是一种无监督算法,不需要事先对数据集打上标签,即ground-truth,也可以对数据集进
- 基本代码from redis import *if __name__ == '__main__': sr = StrictR
- 一、生成器1、生成器定义在Python中,一边循环一边计算的机制,称为生成器:generator2、生成器存在的意义列表所有数据都在内存中,
- 本文实例讲述了Python面向对象之接口、抽象类与多态。分享给大家供大家参考,具体如下:接口类继承有两种用途:一:继承基类的方法,并且做出自
- 本文实例讲述了ThinkPHP框架下微信支付功能总结。分享给大家供大家参考,具体如下:摘要此文主要为个人解决 ThinkPHP3.2.3 下
- 本文实例讲述了python清除字符串里非数字字符的方法。分享给大家供大家参考。具体如下:import re s = "how19
- 大家好,我们的数据库已经介绍完了,这里给大家总结一下。我们这段主要是学习了SQL的增删改查语句,其中查询是我们的重点。我们是以SQL Ser
- 1.下载python2.7.xwget https://www.python.org/ftp/python/2.7.6/Python-2.7
- 在网络中传输数据时,为了防止网络拥塞,需限制流出网络的流量,使流量以比较均匀的速度向外发送,令牌桶算法就实现了这个功能, 可控制发送到网络上
- 端口扫描是非常实用的,不止用在信息安全方面,日常的运维也用得到。这方面的工具也不要太多,搞过 CTF 的朋友会告诉你有多少端口扫描工具,那为
- #!/usr/bin/env python# -*- coding:utf-8 -*-#导入random和string模块import ra
- 本文实例讲述了php使用Cookie实现和用户会话的方法。分享给大家供大家参考。具体分析如下:PHP 包含了很多的函数,可以用来管理和记录用
- 我们知道Vscode是一款强大的编辑器,我们可以通过商城里面的插件扩展来写C/C++/python/java等。同样Vscode支持SQL语
- 图片上传在项目中经常用到,几乎没有任何一个项目可以脱离图片或者是文件上传。本篇我在这向大家介绍两种常规的上传方式。(注:在这里我们仅仅是对功
- 产生原因:先说一下Git和SVN的区别吧,有助于更好的理解这个问题。SVN从服务器上update文件时,如果文件有冲突,SVN会自动帮你me
- 一、文件的操作流程第一,建立文件对象。第二,调用文件方法进行操作。第三,关闭文件。1、打开文件用python内置的open()函数打开一个文