#python
import cv2
import numpy as np
lower_hue, upper_hue = 40, 80
src = cv2.imread("D:\\projects\\SampleCode\\006939-master\\ch10\\inrange\\candies.png", cv2.IMREAD_COLOR)
def on_hue_changed(_=None):
global lower_hue, upper_hue
lowerb = np.array([lower_hue, 100, 0])
upperb = np.array([upper_hue, 255, 255])
mask = cv2.inRange(src_hsv, lowerb, upperb)
cv2.imshow("mask", mask)
if src is None:
print("Image load failed!")
else:
src_hsv = cv2.cvtColor(src, cv2.COLOR_BGR2HSV)
cv2.imshow("src", src)
cv2.namedWindow("mask")
cv2.createTrackbar("Lower Hue", "mask", lower_hue, 179, on_hue_changed)
cv2.createTrackbar("Upper Hue", "mask", upper_hue, 179, on_hue_changed)
on_hue_changed()
cv2.waitKey(0)
// C++
#include "opencv2/opencv.hpp"
#include <iostream>
using namespace cv;
using namespace std;
int lower_hue = 40, upper_hue = 80;
Mat src, src_hsv, mask;
void on_hue_changed(int, void*);
int main(int argc, char* argv[])
{
src = imread("candies.png", IMREAD_COLOR);
if (src.empty()) {
cerr << "Image load failed!" << endl;
return -1;
}
cvtColor(src, src_hsv, COLOR_BGR2HSV);
imshow("src", src);
namedWindow("mask");
createTrackbar("Lower Hue", "mask", &lower_hue, 179, on_hue_changed);
createTrackbar("Upper Hue", "mask", &upper_hue, 179, on_hue_changed);
on_hue_changed(0, 0);
waitKey(0);
return 0;
}
void on_hue_changed(int, void*)
{
Scalar lowerb(lower_hue, 100, 0);
Scalar upperb(upper_hue, 255, 255);
inRange(src_hsv, lowerb, upperb, mask);
imshow("mask", mask);
}
C++ Code 출처 : OpenCV 4로 배우는 컴퓨터 비전과 머신 러닝 - 황선규 저

'OpenCV' 카테고리의 다른 글
ch11 morphology (0) | 2024.05.21 |
---|---|
ch11 adaptive (0) | 2024.05.21 |
ch10 colorOp (0) | 2024.05.21 |
ch10 coloreq (0) | 2024.05.21 |
ch10 backproj (0) | 2024.05.21 |