2013-07-14 32 views
0

我写代码来将图像转换为在Matlab两个部分,如下在opencv中约定图像中的列数?

img1=imge(1:M,1:0.55*N,:); 
img2=imge(1:M,0.55*N:N,:); 

这里IMGE是我输入的图像,我想这个代码转换为OpenCV的。我试图使用cv :: Resize,但这不起作用。你能帮我解决吗?

+0

请注意,MATLAB会发出以下警告:'警告:在用作索引时,冒号操作符需要整数操作数,所以也许应该使用修复/循环来确保索引'0.55 * N'是一个整数 – Amro

+0

Yahh,我做了这个。谢谢 –

回答

0

尝试:

int b = static_cast<int>(0.55*N); 
cv::Mat img1 = img.rowRange(0,M).colRange(0,b); 
cv::Mat img2 = img.rowRange(0,M).colRange(b,N); 

Notethat此简单地创建一个矩阵头,新的矩阵的底层数据与原始矩阵共享。

+0

谢谢你:) –