0
点赞
收藏
分享

微信扫一扫

OpenCV-Python小应用(七):获取图片ROI的HSV取值范围


OpenCV-Python小应用(七):获取图片ROI的HSV取值范围

  • ​​前言​​
  • ​​前提条件​​
  • ​​实验环境​​
  • ​​获取图片ROI的HSV取值范围​​
  • ​​参考文献​​

前言

  • 本文是个人使用OpenCV-Python的应用案例,由于水平有限,难免出现错漏,敬请批评改正。
  • 更多精彩内容,可点击进入​​OpenCV-Python小应用​​专栏或我的​​个人主页​​查看

前提条件

  • 熟悉​​Python​​

实验环境

  • Python 3.6.13 (面向对象的高级语言)
  • OpenCV 3.4.10(python第三方库)​​pip3 install opencv-python==3.4.10.37​

获取图片ROI的HSV取值范围

  • HSV颜色空间相关知识点,可查阅​​OpenCV-Python快速入门(四):色彩空间​​
  • OpenCV中,各种颜色HSV值的参考值,如下图所示。

OpenCV-Python小应用(七):获取图片ROI的HSV取值范围_python

# 导入库
import cv2
import numpy as np
import sys
from PIL import Image

# 图像显示函数
def show(name, img):
cv2.namedWindow(name, 0) # 用来创建指定名称的窗口,0表示CV_WINDOW_NORMAL
# cv2.resizeWindow(name, img.shape[1], img.shape[0]); # 设置宽高大小为640*480
cv2.imshow(name, img)
cv2.waitKey(0)
cv2.destroyAllWindows()

if __name__ == "__main__":
# 读取图片
img = cv2.imread("1.png")
# show('img', img)
# print(img.shape) # (h,w,channel)
img_ROI = img[80:119, 173:212] # y,x -> h,w
# show('img_ROI', img_ROI)
# print(img_ROI.shape)
# BGR -> HSV
img_hsv = cv2.cvtColor(img_ROI, cv2.COLOR_BGR2HSV)
# HSVmin
Hmin, Smin, Vmin = min(img_hsv[:, :, 0][0]), min(img_hsv[:, :, 1][0]), min(img_hsv[:, :, 2][0])
# HSVmax
Hmax, Smax, Vmax = max(img_hsv[:, :, 0][0]), max(img_hsv[:, :, 1][0]), max(img_hsv[:, :, 2][0])
print('Hmin,Smin,Vmin:', Hmin, Smin, Vmin)
print('Hmax,Smax,Vmax:', Hmax, Smax, Vmax)

Hmin,Smin,Vmin: 78 58 12
Hmax,Smax,Vmax: 90 255 148

参考文献

[1] https://opencv.org/
[2] 李立宗. OpenCV轻松入门:面向Python. 北京: 电子工业出版社,2019


举报

相关推荐

0 条评论