本篇文章給大家分享的是有關(guān)怎么在C++中使用opencv把藍(lán)底照片轉(zhuǎn)化為白底照片,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、南開網(wǎng)絡(luò)推廣、成都微信小程序、南開網(wǎng)絡(luò)營銷、南開企業(yè)策劃、南開品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供南開建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com
具體如下:
#include#include #include #include using namespace std; using namespace cv;//包含cv命名空間 int main() { char *origin="Original"; char *window="Image"; char *str="G:\\yay.jpg"; namedWindow(origin,1); namedWindow(window,1); Mat image=imread(str); if(!image.data) { cout<<"圖像載入出現(xiàn)問題"< v; split(hsvImg,v); Mat roiH=v[0](Rect(20,20,20,20)); Mat roiS=v[1](Rect(20,20,20,20)); int SumH=0; int SumS=0; int avgH, avgS;//藍(lán)底的平均色調(diào)和平均飽和度 //取一塊藍(lán)色背景,計(jì)算出它的平均色調(diào)和平均飽和度 for(int i=0; i<20; i++) { for(int j=0; j<20; j++) { /*SumH=SumH+roiH(i,j);*/ SumH=int(roiH.at (j,i))+SumH; SumS=int(roiS.at (j,i))+SumS; } } avgH=SumH/400; avgS=SumS/400; //遍歷整個(gè)圖像 int nl=hsvImg.rows; int nc=hsvImg.cols; int step=10; for(int j=0; j (j,i))<=(avgH+5) && v[0].at (j,i)>=(avgH-5) &&(v[1].at (j,i))<=(avgS+40) && v[1].at (j,i)>=(avgS-40)) { //cout< (j,i))< (j,i)=0; //白色底 v[0].at (j,i)=0; v[1].at (j,i)=0; //V[0]和V[1]全調(diào)成0就是變成白色 //綠色底 //v[0].at (j,i)=60; //藍(lán)色底 //v[0].at (j,i)=120; /*cout< (j,i))< 以上就是怎么在C++中使用opencv把藍(lán)底照片轉(zhuǎn)化為白底照片,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
名稱欄目:怎么在C++中使用opencv把藍(lán)底照片轉(zhuǎn)化為白底照片
轉(zhuǎn)載注明:http://weahome.cn/article/jpssje.html