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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

opecv 证件照处理

發布時間:2023/12/31 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 opecv 证件照处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

測試圖片:

?

方法1:

#include "cv.h"#include "cxcore.h"#include "highgui.h"/****opencvchina.com每周一練第十三期**作者:opencvchina.com會員 ---> zhongguo*/void getAverage(IplImage* image,float* avg);//計算圖像sampleImageName hsv三個通道的均值//hSampleAvg:h通道的均值//sSampleAvg:s通道的均值//vSampleAvg:v通道的均值void init(char* sampleImageName , float* hSampleAvg , float* sSampleAvg, float* vSampleAvg){IplImage *srcColor;srcColor = cvLoadImage(sampleImageName,CV_LOAD_IMAGE_COLOR);if(!srcColor){printf("fail to load Image \n");exit(0);}IplImage* hsvFloat = cvCreateImage(cvGetSize(srcColor),32,3);IplImage* srcColorFloat = cvCreateImage(cvGetSize(srcColor),32,3);cvConvertScale(srcColor,srcColorFloat);cvCvtColor(srcColorFloat,hsvFloat,CV_BGR2HSV);IplImage* h = cvCreateImage(cvGetSize(srcColor),32,1);IplImage* s = cvCreateImage(cvGetSize(srcColor),32,1);IplImage* v = cvCreateImage(cvGetSize(srcColor),32,1);cvSplit(hsvFloat,h,s,v,NULL);getAverage(h,hSampleAvg);getAverage(s,sSampleAvg);getAverage(v,vSampleAvg);cvReleaseImage(&srcColor);cvReleaseImage(&hsvFloat);cvReleaseImage(&srcColorFloat);cvReleaseImage(&h);cvReleaseImage(&s);cvReleaseImage(&v);}//計算圖像的均值void getAverage(IplImage* image,float* avg){int x,y;float sum = 0 ;for(y=0;y<image->height;y++)for(x=0;x<image->width;x++){float value = cvGetReal2D(image,y,x);sum = sum + value;}*avg = sum/(float)(image->height*image->width);}int main(int argc, char* argv[]){float hSampleAvg , sSampleAvg, vSampleAvg , minH,maxH,disH;//加載樣本圖片 并計算hsv三個通道的均值init("sample1.jpg" , &hSampleAvg , &sSampleAvg, &vSampleAvg);IplImage *srcColor , *hsvFloat ,*srcColorFloat,*h,*s,*v;//加載樣本證件照圖像srcColor = cvLoadImage("1.jpg",CV_LOAD_IMAGE_COLOR);if(!srcColor){printf("fail to load image\n");return 0;}hsvFloat = cvCreateImage(cvGetSize(srcColor),32,3);srcColorFloat = cvCreateImage(cvGetSize(srcColor),32,3);cvConvertScale(srcColor,srcColorFloat);//顏色空間轉換 BGR-->HSVcvCvtColor(srcColorFloat,hsvFloat,CV_BGR2HSV);h = cvCreateImage(cvGetSize(srcColor),32,1);s = cvCreateImage(cvGetSize(srcColor),32,1);v = cvCreateImage(cvGetSize(srcColor),32,1);//分離h s v三個通道cvSplit(hsvFloat,h,s,v,NULL);for(int y=0;y<hsvFloat->height;y++){for(int x=0;x<hsvFloat->width;x++){float hValue = cvGetReal2D(h,y,x);float sValue = cvGetReal2D(s,y,x);float vValue = cvGetReal2D(v,y,x);minH = hValue < hSampleAvg ? hValue : hSampleAvg ;maxH = hValue > hSampleAvg ? hValue : hSampleAvg ;disH = MIN(maxH-minH,360-maxH+minH);//與樣本圖像的h s v三個通道的均值比較if((fabs(sValue-sSampleAvg)<0.2) && disH<40 && (fabs(vValue - vSampleAvg)<40)){cvSet2D(srcColor,y,x,cvScalar(255,255,255,0));}}}//顯示證件照圖像cvNamedWindow("src");cvShowImage("src",srcColor);cvWaitKey(0);//釋放圖像資源cvReleaseImage(&srcColor);cvReleaseImage(&hsvFloat);cvReleaseImage(&srcColorFloat);cvReleaseImage(&h);cvReleaseImage(&s);cvReleaseImage(&v);return 0;}

方法2:

#include "cv.h"#include "highgui.h"#include <iostream>using namespace std;/****opencvchina.com每周一練第十三期**作者:opencvchina.com會員 ---> JL2012JL*/int main(){IplImage*src=cvLoadImage("people.jpg");cvNamedWindow("cr");IplImage*ycrcb=cvCloneImage(src);IplImage*crdst=cvCloneImage(src);IplImage*s1=cvCreateImage(cvGetSize(src),8,1);cvCvtColor(src,ycrcb,CV_BGR2YCrCb);cvSplit(ycrcb,NULL,s1,NULL,NULL);int crh=255;int crl=115;cvCreateTrackbar("crh","cr",&crh,256,NULL);cvCreateTrackbar("crl","cr",&crl,256,NULL);cvShowImage("cr",s1);cvShowImage("src",src);while(1){cvSplit(ycrcb,NULL,s1,NULL,NULL);cvInRangeS(s1,cvScalarAll(crl),cvScalarAll(crh),s1);cvDilate(s1,s1);cvErode(s1,s1);cvZero(crdst);cvCopy(src,crdst,s1);cvShowImage("crdst",crdst);if(cvWaitKey(10)==27)break;}cvNot(s1,s1);cvSet(crdst,cvScalarAll(255),s1);cvShowImage("dst",crdst);cvWaitKey(0);cvDestroyWindow("cr");cvReleaseImage(&src);cvReleaseImage(&ycrcb);cvReleaseImage(&s1);cvReleaseImage(&crdst);return 0;}


?

?

總結

以上是生活随笔為你收集整理的opecv 证件照处理的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 国产成人亚洲综合 | 不卡日本| 欧美激情小视频 | 日韩精品成人一区二区在线 | 内射国产内射夫妻免费频道 | 精品国产aⅴ一区二区三区四川人 | 爱情岛亚洲首页论坛小巨 | jlzzjlzz亚洲女人 | 免费在线日本 | 色呦呦官网| 亚洲影视一区 | 97日韩精品 | 尤物av无码色av无码 | 伊人影视在线 | 亚洲专区免费 | 一本一道久久a久久精品综合 | 欧洲亚洲一区 | 亚洲自拍偷拍网站 | 青青草原免费观看 | 蜜桃传媒一区二区亚洲 | 人人澡人人干 | 三级av免费看 | 国产一区在线观看视频 | 男女激情啪啪 | 亚洲 欧美 激情 小说 另类 | 午夜影院免费体验区 | 天天摸夜夜添狠狠添婷婷 | 久久77777| 男人天堂视频在线 | www视频在线观看免费 | 女色综合 | 欧美日韩精品在线视频 | 体内射精一区二区 | 免费黄av | 亚洲最新在线 | 国产精品电影在线观看 | 韩国午夜影院 | 国产成人无码AA精品区 | 成人久久久精品乱码一区二区三区 | 在线免费观看高清视频 | 高潮毛片无遮挡免费看 | 日本在线一区二区三区 | 一级黄色在线 | 香蕉视频官网在线观看 | 久久成人免费视频 | 丰满人妻熟妇乱偷人无码 | 午夜色片| 性色av免费观看 | 法国空姐在线观看视频 | 久久天堂| 美女无遮挡免费网站 | 中文字幕在线观看线人 | 国产黄色片免费看 | 在线国产播放 | 亚洲免费久久 | 国产一级做a爰片久久毛片男男 | 天天色一色 | 国产网站在线看 | 秋霞成人午夜伦在线观看 | 欧美精品一区二区三区久久久竹菊 | 91秦先生在线播放 | 国产一区啪啪 | 免费日韩在线视频 | 无码少妇一区二区三区 | 日韩av在线网 | 亚洲欧美第一页 | 粉嫩av一区二区 | 黄色国产小视频 | 亚洲永久免费 | 日本激情久久 | 国产绿帽刺激高潮对白 | 天堂男人av | 成人欧美一区二区三区黑人动态图 | 在线91av| 午夜婷婷在线观看 | 色噜噜色综合 | 麻豆md0049免费 | 九九日韩 | 亚洲第一页中文字幕 | 毛片的网站 | 国产成人精品久久二区二区 | 亚洲黄色在线播放 | 亚洲成人网页 | 亚洲影视一区二区 | 三级视频在线观看 | 99久久久无码国产精品性黑人 | 午夜伦理福利视频 | 经典三级av在线 | 可以免费在线观看的av | 日本大胆欧美人术艺术 | 黄色视屏免费 | 国产探花一区二区三区 | 天天综合影院 | 狂野欧美性猛交xxxxhd | 一区二区三区av在线 | 日本久久激情 | 韩国三级hd中文字幕 | 成人交性视频免费看 | 日本不卡在线播放 |