這篇文章主要為大家展示了opencv+python如何實現鼠標點擊圖像,輸出該點的RGB和HSV值,內容簡而易懂,希望大家可以學習一下,學習完之后肯定會有收獲的,下面讓小編帶大家一起來看看吧。
我就廢話不多說了,大家還是直接看代碼吧!
import cv2
# 讀取圖片并縮放方便顯示
img = cv2.imread('D:/6.jpg')
height, width = img.shape[:2]
size = (int(width * 0.2), int(height * 0.2))
# 縮放
img = cv2.resize(img, size, interpolation=cv2.INTER_AREA)
# BGR轉化為HSV
HSV = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# 鼠標點擊響應事件
def getposHsv(event, x, y, flags, param):
if event==cv2.EVENT_LBUTTONDOWN:
print("HSV is", HSV[y, x])
def getposBgr(event, x, y, flags, param):
if event==cv2.EVENT_LBUTTONDOWN:
print("Bgr is", img[y, x])
cv2.imshow("imageHSV", HSV)
cv2.imshow('image', img)
cv2.setMouseCallback("imageHSV", getposHsv)
cv2.setMouseCallback("image", getposBgr)
cv2.waitKey(0)補充知識:python opencv查看圖片中任一點的像素 BGR值 灰度值 HSV值
如下所示:
# -*- coding:utf-8 -*-
import cv2
img = cv2.imread('11_13/120002.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
def mouse_click(event, x, y, flags, para):
if event == cv2.EVENT_LBUTTONDOWN: # 左邊鼠標點擊
print('PIX:', x, y)
print("BGR:", img[y, x])
print("GRAY:", gray[y, x])
print("HSV:", hsv[y, x])
if __name__ == '__main__':
cv2.namedWindow("img")
cv2.setMouseCallback("img", mouse_click)
while True:
cv2.imshow('img', img)
if cv2.waitKey() == ord('q'):
break
cv2.destroyAllWindows()Windows下有畫圖軟件可以直接查看圖片的RGB值,但是沒辦法查看HSV值,這樣一個小程序就可以幫你做到。
附一張opencv下HSV范圍圖片:

以上就是關于opencv+python如何實現鼠標點擊圖像,輸出該點的RGB和HSV值的內容,如果你們有學習到知識或者技能,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。