先上图片和代码
void PreTreat::on_OpenImageButton_clicked()
{
QString fileName = QFileDialog::getOpenFileName(this,tr("open image file"), "./", tr("Image files(*.jpg *.png);;All files (*.*)"));
//窗口文字 默认目录 筛选后缀
widid=this->winId();
widid2=widid;
ReadImage(&ho_Image, HTuple(fileName.toStdString().c_str()));
// OpenWindow(ui->graphicsView->x(),ui->graphicsView->y(),ui->graphicsView->width(),ui->graphicsView->height(),widid2,"","",&hv_WindowHandle);
OpenWindow(0,0,ui->graphicsView->width(),ui->graphicsView->height(),widid2,"","",&hv_WindowHandle);
HDevWindowStack::Push(hv_WindowHandle);
if(HDevWindowStack::IsOpen())
{
DispObj(ho_Image,HDevWindowStack::GetActive());
globalMark=1;
}
}
这段函数是对“打开

本文探讨了在Qt窗口中如何正确显示经过Halcon处理的图像,遇到的问题是图片因适应图像框大小而变形,未能嵌入到框内。尝试使用Qt的GraphicsView显示图像,虽然解决了图片伸展适应的问题,但如何将Halcon处理的图像与Qt的显示方式相匹配仍然是挑战。主要问题在于C++和Halcon图像类型的转换。最终解决方案是分别使用Halcon进行图像处理,Qt负责图像显示,避免直接类型转换。
最低0.47元/天 解锁文章
754

被折叠的 条评论
为什么被折叠?



