網路上的文章 常常只有 IplImage <-> Mat 的型別互換
但是實際應用 發現需要 IplImage* <-> Mat 的互換
概念大概是先用指標跟位置的關係來寫
程式碼:
#include
<cv.h>
#include
<highgui.h>
#include
<stdio.h>
using
namespace
cv ;
int
main()
{
//IplImage* -> 轉換 Mat
IplImage* img01 = cvLoadImage("apple.jpg",1);//用IplImage*讀取圖片
Mat Mimg01(img01, 0);//丟給MAT
cvNamedWindow("img01",0);
imshow("img01",
Mimg01);
//Mat -> 轉換 IplImage*
Mat Mimg02 = imread("lena.jpg",
1);//用Mat型別讀取圖片
IplImage* img02 ; //先宣告 IplImage* 型別的img02
img02 = &IplImage(Mimg02); //Matimg的位置丟給img02
cvNamedWindow("img02",0);
cvShowImage("img02",img02);
cvWaitKey(0);
}
結果:
參考:
您好,
回覆刪除在使用vs2015,opencv3.2.0時發生以下問題
OPENCVTest.exe' (Win32): 已載入 'C:\Windows\System32\opencv_world320d.dll'。找不到或無法開啟 PDB 檔案。
但資料夾內確定已有這個dll檔
也確定環境變數路徑設定無誤
不知道能否得到您的解答
感謝:)
Project的Configuration properties->Linker->Input中的Additional Dependencies把"opencv_world320d.lib"加進去試試。
刪除想問一下
回覆刪除在3.2版本這個轉換還可用嗎
要怎麼修改呢
應該還可以吧 你試過有什麼問題嗎
刪除