博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
opencv +python 提取roi目标区域全部像素的值 得出上下限 均匀值
阅读量:7112 次
发布时间:2019-06-28

本文共 2303 字,大约阅读时间需要 7 分钟。

cv2.imread后返回的值是一个矩阵,而我需要全部像素的值,不需要矩阵排布

所以:

利用

h, w, _ = img3.shape

得到区域的长宽,也就是像素的行数和列数

再用 for 循环,逐个打印

for a in range(h):    for b in range(w):        print(img3[a,b])        jihe.append(list(img3[a,b]))        num +=1

就可以得到整齐的一字排开的像素值

[ 98 125 255][ 97 124 255][ 96 123 254][ 94 121 252][ 93 120 251][ 92 119 250][ 91 118 249][ 90 117 248][ 98 125 255][ 97 124 255][ 95 122 253][ 93 120 251][ 92 119 250][ 91 118 249][ 89 116 247][ 87 114 245][ 97 124 255][ 96 123 254][ 94 121 252][ 94 121 252][ 93 120 251][ 92 119 250][ 90 117 248][ 88 115 246][ 93 120 251][ 92 119 250][ 92 119 250][ 93 120 251][ 94 121 252][ 93 120 251][ 91 118 249][ 90 117 248][ 93 120 251][ 93 120 251][ 95 122 253][ 96 123 254][ 97 124 255][ 95 122 253][ 95 122 253][ 95 122 253][ 95 122 255][ 94 121 254][ 95 122 255][ 97 124 255][ 97 124 255][ 96 123 255][ 95 122 255][ 95 122 255][ 92 119 252][ 90 117 250][ 89 116 249][ 92 119 252][ 93 120 253][ 92 119 252][ 90 117 250][ 90 117 250][ 92 119 252][ 88 115 248][ 88 115 248][ 91 118 251][ 94 121 254][ 93 120 253][ 91 118 251][ 90 117 250][ 92 119 252][ 90 117 250][ 89 116 249][ 91 118 251][ 92 119 252][ 92 119 252][ 92 119 252][ 93 120 253][ 89 116 249][ 89 116 249][ 90 117 250][ 93 120 253][ 94 121 254][ 93 120 253][ 93 120 253][ 93 120 253][ 84 110 246][ 86 112 248][ 88 114 250][ 90 116 252][ 90 116 252][ 90 116 252][ 90 116 252][ 91 117 253][ 83 109 245][ 85 111 247][ 87 113 249][ 86 112 248][ 85 111 247][ 85 111 247][ 87 113 249][ 89 115 251][ 86 112 248][ 87 113 249][ 87 113 249][ 86 112 248][ 83 109 245][ 83 109 245][ 86 112 248][ 88 114 250][ 85 111 247]

再求RGB均值

sumx = sumy = sumz = 0 for i in range(num):     [x, y, z] = jihe[i]     sumx = sumx + x     sumy = sumy + y     sumz = sumz + z r=int(sumx/num) g=int(sumy/num) b=int(sumz/num) print(r, g, b) print(num) print(jihe) print('集合长度%d' % (len(jihe))) colors_change = np.uint8([[[b,g,r]]]) hsv_change = cv2.cvtColor(colors_change,cv2.COLOR_BGR2HSV) print(hsv_change)

得出HSV平均值

这里的HSV是opencv下的,与别处不同

For HSV, Hue range is [0,179], Saturation range is [0,255] and Value range is [0,255]. Different softwares use different scales. So if you are comparing OpenCV values with them, you need to normalize these ranges.

H:0-179

S: 0-255

V:0-255

但其他软件经常见H也是两百多的

转载于:https://www.cnblogs.com/mrfri/p/8651957.html

你可能感兴趣的文章
一个前端工程师的基本修养
查看>>
ZT:三十个好习惯
查看>>
.Net开发笔记(七)使用组件编程
查看>>
ASP.NET企业开发框架IsLine FrameWork系列之八--AppLogProvider日志框架(下)
查看>>
DataBase异常状态:Recovery Pending,Suspect,估计Recovery的剩余时间
查看>>
一个android版本的rss阅读器--明天补充实现过程,先上图
查看>>
WPF TreeView
查看>>
HTML: 仿写一个财经类静态的网页
查看>>
C#读写config配置文件
查看>>
JavaScript:文本域事件处理
查看>>
关于dctser进程
查看>>
一步一步教你使用AgileEAS.NET基础类库进行应用开发-基础篇-演示ORM中的查询
查看>>
win7远程登录
查看>>
5.6. DHCP
查看>>
RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->Web版本模块管理界面新增模块排序功能...
查看>>
ajax与算法,sql的group处理
查看>>
《C#高级编程》笔记系列--点滴记录(持续更新中……)
查看>>
采用泳道图工具跟踪项目进度或者问题解决进度
查看>>
sql server 2008学习1–系统数据库
查看>>
找零钱的两种方法
查看>>