#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <stdlib.h>
#include <stdio.h>
#include <iostream>
using namespace cv;
using namespace std;
//全局变量
Mat src, src_gray;
Mat dst, detected_edges;
int edgeThresh = 1;
int lowThreshold;
int const max_lowThreshold = 100;
int ratio = 3;
int kernel_size = 3;
const char* window_name = "Edge Map";
/*
* @function CannyThreshold
* @brief Trackbar callback - Canny thresholds input with a ratio 1:3
*/
static void CannyThreshold(int, void*)
{
/// Reduce noise with a kernel 3x3
blur( src_gray, detected_edges, Size(3,3) );
/// Canny detector
Canny( detected_edges, detected_edges, lowThreshold, lowThreshold*ratio, kernel_size );
/// Using Canny's output as a mask, we display our result
dst = Scalar::all(0);
src.copyTo( dst, detected_edges);
imshow( window_name, dst );
}
/**
* @function main
*/
int main( int, char** argv )
{
/// Load an image
//src = imread( argv[1] );
src = imread("D:\\原始lena图像.bmp",CV_LOAD_IMAGE_COLOR);
if( !src.data )
{ return -1; }
/// Create a matrix of the same type and size as src (for dst)
dst.create( src.size(), src.type() );
/// Convert the image to grayscale
cvtColor( src, src_gray, CV_BGR2GRAY );
/// Create a window
namedWindow( window_name, CV_WINDOW_AUTOSIZE );
/// Create a Trackbar for user to enter threshold
createTrackbar( "Min Threshold:", window_name, &lowThreshold, max_lowThreshold, CannyThreshold );
/// Show the image
CannyThreshold(0, 0);
/// Wait until user exit program by pressing a key
waitKey(0);
return 0;
}
opencv-canny边缘检测
原创
©著作权归作者所有:来自51CTO博客作者Digital2Slave的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Python OpenCV #2 - OpenCV中的GUI功能
本文介绍了OpenCV的基本方发,包括图像读取、显示和写入。
python ide OpenCV -
OpenCV 简单 Canny 边缘检测
转化成灰度图 → blur 函数进行图像模糊降噪 → canny 函数进行边缘检测。 #include <
OpenCV #include 头文件 边缘检测 -
OpenCV—python 边缘检测(Canny)
一、OpenCV-Python 中 Canny() 参数"""cv2
边缘检测 python 子类 -
【opencv学习】【Canny边缘检测】
今天学习下 Canny检测,具体的算法介绍在代码中展示。import cv2import numpy as
opencv 计算机视觉 人工智能 像素点 边缘检测 -
linux top RES VIART 占用高 java
案例一问题最近一台 CentOS 服务器,发现内存无端损失了许多,free 和 ps 统计的结果相差十几个G,非常奇怪,后来Google了许久才搞明白。分析1、linux系统内存消耗主要有三个地方:进程slabpagecacge用 free 命令查看到的是系统整体的内容使用情况,而使用 ps 和 top 看到的内存使用情况都是以进程维度来看的,因此看不到 slabcache 和pagecache
linux 内存占用 linux 内存占用高排查 linux内存占用高但看不到进程 linux读取进程内存占用函数 viewflipper 占用内存过大