這篇文章主要為大家展示了“如何解決OpenCV中C++函數(shù)imread讀取圖片的問(wèn)題”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“如何解決OpenCV中C++函數(shù)imread讀取圖片的問(wèn)題”這篇文章吧。
公司主營(yíng)業(yè)務(wù):網(wǎng)站設(shè)計(jì)制作、網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)推出懷遠(yuǎn)免費(fèi)做網(wǎng)站回饋大家。今天在用OpenCV實(shí)驗(yàn)Image Pyramid的時(shí)候發(fā)現(xiàn)一個(gè)奇怪的問(wèn)題,就是利用C++函數(shù)imread讀取圖片的時(shí)候返回的結(jié)果總是空,而利用C函數(shù)cvLoadImage時(shí)卻能讀取到圖像。代碼如下:
//環(huán)境:VS2010 + OpenCV 2.3.1 #include "stdafx.h" #include#include #include #include #include using namespace cv; Mat src, dst, tmp; char* window_name = "Pyramids Demo"; int _tmain(int argc, _TCHAR* argv[]) { printf("\n Zoom In-Out demo \n"); printf("-------------------- \n"); printf("*[u]-> Zoom in \n"); printf("*[d]-> Zoom out \n"); printf("*[ESC]-> Close program \n\n"); src = imread("D:\\fruits.jpg"); if(!src.data) { printf("No data!--Exiting the program \n"); return -1; } tmp = src; dst = tmp; namedWindow(window_name,CV_WINDOW_AUTOSIZE); imshow(window_name,dst); while(true) { int c; c = waitKey(10); if((char)c == 27) { break; } if((char)c == 'u') { pyrUp(tmp,dst,Size(tmp.cols * 2,tmp.rows * 2)); printf("** Zoom In:Image x 2\n"); } else if((char)c == 'd') { pyrDown(tmp,dst,Size(tmp.cols / 2,tmp.rows / 2)); printf("**Zoom Out:Image / 2\n"); } imshow(window_name,dst); tmp = dst; } return 0; }
程序很簡(jiǎn)單,就是直接調(diào)用Imgproc中的兩個(gè)C++函數(shù)pyrUp和pyrDown來(lái)實(shí)現(xiàn)圖像金字塔,程序的詳細(xì)解釋可參見(jiàn)https://www.jb51.net/article/108378.htm。但在實(shí)現(xiàn)的過(guò)程中發(fā)現(xiàn)imread始終讀取不了圖像數(shù)據(jù)和cvLoadImage卻可以。幾經(jīng)考證,發(fā)現(xiàn)的確是由于庫(kù)關(guān)聯(lián)的問(wèn)題。也就是在Debug模式下應(yīng)該選擇帶'd'的lib,在Release模式下就選擇不帶'd'的lib。而實(shí)際我們?cè)谂渲肙penCV環(huán)境的時(shí)候往往圖方便將Debug和Release的目錄都一起加了進(jìn)去,再修改起來(lái)也比較麻煩。所以這時(shí)候最簡(jiǎn)單的辦法就是在程序的開(kāi)始加上:
#pragma comment(lib,"opencv_highgui231d.lib")
來(lái)告訴程序?qū)⒉捎肈ebug版本的庫(kù)函數(shù)。
實(shí)驗(yàn)結(jié)果如下:
以上是“如何解決OpenCV中C++函數(shù)imread讀取圖片的問(wèn)題”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。