日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

利用openCV中的cvCanny函数检测人脸的边缘

發布時間:2025/3/21 pytorch 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用openCV中的cvCanny函数检测人脸的边缘 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前幾天按照學校的要求做一個項目設計,指導老師讓完成一個邊緣檢測的程序,用來提取出人臉的輪廓。于是將相關過程記錄下來。 提取邊緣,可以直接使用cvCanny函數。 cvCanny是開放計算機視覺(OpenCV)庫庫函數之一,用于對圖像的邊緣檢測(采用canny算法)。void cvCanny( const CvArr* image,CvArr* edges,double threshold1,double threshold2, int aperture_size=3 );image 輸入單通道圖像(可以是彩色圖像)對于多通道的圖像可以用cvCvtColor()修改。edges 輸出的邊緣圖像 ,也是單通道的,但是是黑白的threshold1 第一個閾值threshold2 第二個閾值aperture_size Sobel 算子內核大小函數 cvCanny 采用 Canny 算法發現輸入圖像的邊緣而且在輸出圖像中標識這些邊緣。threshold1和threshold2 當中的小閾值用來控制邊緣連接,大的閾值用來控制強邊緣的初始分割。 #include "stdafx.h" #include <cv.h> #include <highgui.h> #include <math.h>int main(int argc, char** argv) {const char* filename = argc >= 2 ? argv[1] : "jobs.jpg";IplImage* src = cvLoadImage( filename, 0 );IplImage* dst;CvMemStorage* storage = cvCreateMemStorage(0);CvSeq* lines = 0;int i;if( !src )return -1;dst = cvCreateImage( cvGetSize(src), 8, 1 );//小閾值用來控制邊緣連接,大的閾值用來控制強邊緣的初始分割cvCanny( src, dst, 50,200, 3 );uchar *data_src;uchar *data_dst;data_src=(uchar *)src->imageData;data_dst=(uchar *)dst->imageData;for(int i=0;i<dst->height;i++){for(int j=0;j<dst->width;j++){if(data_dst[i*dst->widthStep+j*dst->nChannels]==(uchar)255)data_src[i*src->widthStep+j*src->nChannels]=(uchar)255;}}cvNamedWindow( "Source", 1 );//cvShowImage( "Source", color_dst );cvShowImage( "Source", src );cvNamedWindow( "Hough", 1 );cvShowImage( "Hough", dst );cvWaitKey(0);return 0; }
實驗結果如下圖(右側圖像為用CVCanny得到的圖像,左側圖像為將識別出的邊緣標記到原圖像上得到的圖像) 2015年3月17日 ? 西安交通大學轉載請注明出處。

總結

以上是生活随笔為你收集整理的利用openCV中的cvCanny函数检测人脸的边缘的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。