opencv学习——cv::pyrDown(), cv::cvtColor(),cv::Canny()
(1)使用cv::pyrDown()创建一个新的图像,其宽和高均为原始图像的一半
int main() {
cv::Mat img1, img2;
cv::namedWindow("Example1", cv::WINDOW_AUTOSIZE);
cv::namedWindow("Example2", cv::WINDOW_AUTOSIZE);
img1 = cv::imread("/home/zqn/C++Test/cv_prac/27.jpg");
cv::imshow("Example1", img1);
cv::pyrDown(img1, img2);
cv::imshow("Example2", img2);
cv::waitKey(0);
return 0;
}
(2)cv::cvtColor()函数生成一个与原图一样大的单通道图像(BGR TO GRAY)
定义为宏cv::COLOR_BGR2GRAY
Canny边缘检测器
第一个参数是输入,第二个是输出,第三个参数和第四个参数分别是MinVal和MaxVal。第五个参数是aperture_size。它是用于查找图像梯度的Sobel核的大小。默认情况下是3。最后一个参数是L2gradient ,它指定了求梯度幅值的公式。如果是True,它使用上面提到的更精确的方程,否则它使用这个函数:Edge\_Gradient \; (G) = |G_x| + |G_y|。默认情况下,它是False。
int main() {
cv::Mat img_rgb, img_gry, img_cny;
cv::namedWindow("Example Gray", cv::WINDOW_AUTOSIZE);
cv::namedWindow("Example Canny", cv::WINDOW_AUTOSIZE);
img_rgb = cv::imread("/home/zqn/C++Test/cv_prac/27.jpg");
cv::cvtColor(img_rgb, img_gry, cv::COLOR_BGR2GRAY);
cv::imshow("Example Gray", img_gry);
cv::Canny(img_gry, img_cny, 10, 100, 3, true);
cv::imshow("Example Canny", img_cny);
cv::waitKey(0);
return 0;
}