外廓的大小跟原来图片不一样啊这这个是啥情况?求指导!
轮廓的大小跟原来图片不一样啊,这这个是啥情况???求指导!!!!
------解决方案--------------------
你拉伸显示了吧,所以就不一样
------解决方案--------------------
其中的m_width, m_height这两个变量是否有问题呢?
------解决方案--------------------
目测你的"shiter"窗口和“swanjpg”窗口大小就不一样,让其等大试试看
------解决方案--------------------
那你试着调整opencv 的窗口,MoveWindow一下试试
------解决方案--------------------
把你轮廓的图片保存下来,看看宽高如何??
void CMyGraphCuts01View::OnGraphcut()
{
BYTE* res = m_graphModel.doCut();
m_originalBuffer.drawDC(m_state1Buffer.GetDC(), 0, 0);
m_originalBuffer.drawDC(m_state2Buffer.GetDC(), 0, 0);
BYTE* res1 = new BYTE[m_width*m_height];
openContour(res, m_width, m_height, res1);
cv::Mat img_contour(cv::Size(m_width, m_height), CV_8UC1);
for (int i=0;i<m_height;i++)
for (int j=0; j<m_width;j++)
if (res1[i*m_width+j] == 1)
{
img_contour.at<char>(i,j) = res1[i*m_width+j];//这里输出轮廓!!
m_state1Buffer.setPixel(j,i,0,RGB(240,240,240));
m_state2Buffer.setPixel(j,i,0,RGB(0,0,0));
}
//2014.7.1增加显示轮廓信息,轮廓跟原图像大小不一样
char *imageName = "shiter";
cv::namedWindow( imageName,CV_WINDOW_NORMAL);// Create a window for display.
cv::imshow(imageName,img_contour);
delete [] res1;
//2014.7.1增加状态栏信息
CString str;
str.Format(("啦啦啦"));//以一定的格式输出
//GetParent()->GetDescendantWindow(AFX_IDW_STATUS_BAR)->SetWindowText(str);//在状态栏上面设置文本信息
((CMainFrame*)GetParent())->m_wndStatusBar.SetWindowText(str);//在状态栏上面设置文本信息
Invalidate(0);
}
------解决方案--------------------
你拉伸显示了吧,所以就不一样
------解决方案--------------------
其中的m_width, m_height这两个变量是否有问题呢?
------解决方案--------------------
目测你的"shiter"窗口和“swanjpg”窗口大小就不一样,让其等大试试看
------解决方案--------------------
那你试着调整opencv 的窗口,MoveWindow一下试试
------解决方案--------------------
把你轮廓的图片保存下来,看看宽高如何??