Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk mencari nilai HSV warna menggunakan OpenCV Python?

Bagaimana untuk mencari nilai HSV warna menggunakan OpenCV Python?

王林
Lepaskan: 2023-08-19 14:25:14
ke hadapan
936 orang telah melayarinya

如何使用OpenCV Python找到一种颜色的HSV值?

Untuk mencari HSV nilai sesuatu warna, kita boleh menggunakan penukaran ruang warna daripada BGR kepada HSV. Mula-mula, kami mentakrifkan nilai warna sebagai numpy.ndarray dalam format BGR dan kemudian menukarnya kepada HSV ruang.

Kita juga boleh mencari had dan atas HSV nilai sebagai [H-10, 100, 100] dan [H+10, 255, dan atas masing-masing boleh digunakan untuk mengesan objek warna tertentu.

Untuk mencari nilai

HSV sesuatu warna, ikut langkah berikut:

Langkah

Import perpustakaan yang diperlukan Dalam semua contoh Python berikut, perpustakaan Python yang diperlukan ialah

OpenCV dan NumPy Pastikan anda telah memasangnya.

import cv2
import numpy as np
Salin selepas log masuk

Tentukan

numpy.ndarray untuk warna, dtype=np.uint8.

green = np.uint8([[[0, 255, 0]]])
Salin selepas log masuk

Tukar warna yang ditakrifkan di atas kepada

HSV.

hsvGreen = cv2.cvtColor(green, cv2.COLOR_BGR2HSV)
Salin selepas log masuk

Cetak nilai warna.

print("HSV of Green:", hsvGreen)
Salin selepas log masuk

Mari kita lihat beberapa contoh program untuk memahaminya dengan jelas.

Contoh 1

Dalam contoh ini, kita dapati nilai

HSV untuk warna hijau Nilai BGR hijau ialah [0,255,0]..

# import required libraries
import numpy as np
import cv2
# define a numpy.ndarray for the color
# here insert the bgr values which you want to convert to hsv
green = np.uint8([[[0, 255, 0]]])

# convert the color to HSV
hsvGreen = cv2.cvtColor(green, cv2.COLOR_BGR2HSV)

# display the color values
print("BGR of Green:", green)
print("HSV of Green:", hsvGreen)

# Compute the lower and upper limits
lowerLimit = hsvGreen[0][0][0] - 10, 100, 100
upperLimit = hsvGreen[0][0][0] + 10, 255, 255

# display the lower and upper limits
print("Lower Limit:",lowerLimit)
print("Upper Limit", upperLimit)
Salin selepas log masuk

Output

Apabila anda menjalankan program Python di atas, ia akan menghasilkan output berikut

BGR of Green: [[[ 0 255 0]]] 
HSV of Green: [[[ 60 255 255]]] 
Lower Limit: (50, 100, 100) 
Upper Limit (70, 255, 255)
Salin selepas log masuk
Terjemahan bahasa Cina bagi

Contoh 2

ialah:

Contoh 2

Dalam contoh ini, kita dapati nilai

HSV untuk warna yang BGR nilainya ialah [106,76,89].

# import required libraries
import numpy as np
import cv2
green = np.uint8([[[0, 255, 0]]])

# convert the color to HSV
hsvGreen = cv2.cvtColor(green, cv2.COLOR_BGR2HSV)

# here insert the bgr values which you want to convert to hsv
bgr = np.uint8([[[106,76,89]]])
hsv = cv2.cvtColor(green, cv2.COLOR_BGR2HSV)
print("BGR Value:", bgr)
print("HSV Value:", hsv)

# compute the lower and upper limits
lowerLimit = hsvGreen[0][0][0] - 10, 100, 100
upperLimit = hsvGreen[0][0][0] + 10, 255, 255

# display the lower and upper limits
print("Lower Limit:",lowerLimit)
print("Upper Limit", upperLimit)
Salin selepas log masuk

Output

Apabila anda menjalankan program python di atas, ia akan menghasilkan output berikut

BGR Value: [[[76 76 89]]] 
HSV Value: [[[ 60 255 255]]] 
Lower Limit: (50, 100, 100) 
Upper Limit (70, 255, 255)
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk mencari nilai HSV warna menggunakan OpenCV Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan