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快速入门(四):色彩空间
# 导入库
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
- 更多精彩内容,可点击进入OpenCV-Python小应用专栏或我的个人主页查看