当前位置:主页 > 查看内容

QT显示调用C++编译的dll

发布时间:2021-05-21 00:00| 位朋友查看

简介:QT显示调用C编译的dll //定义函数指针 typedef cv :: Mat ( * Fun ) ( std :: string ) ; //定义函数指针以备调用 . . . . void ImageMaster_Pro :: Img_stich ( ) { QString imgpath QFileDialog :: getExistingDirectory ( this , 待拼接影像文件夹 , ./ ,……

QT显示调用C++编译的dll

//定义函数指针:
typedef cv::Mat(*Fun)(std::string); //定义函数指针,以备调用  
.
.
.
.
void  ImageMaster_Pro::Img_stich()
{
	QString imgpath = QFileDialog::getExistingDirectory(this, "待拼接影像文件夹", "./", QFileDialog::ShowDirsOnly);
	QLibrary mylib("ImgStiching_dll.dll");   //声明所用到的dll文件  
	if (imgpath.isEmpty())
	{
		return;
	}
	else
	{
		cv::Mat result;
		if (mylib.load())              //判断是否正确加载  
		{
			Fun open = (Fun)mylib.resolve("ImgStich");    //援引 add() 函数  
			if (open)                  //是否成功连接上 add() 函数  
			{
				result = open(imgpath.toStdString());
				QImage outimg;
				QString savepath = "1.jpg";
				cv::imwrite(savepath.toStdString(), result);
				outimg.load(savepath);
				ShowImage(outimg, true);
			}
			else
				QMessageBox::information(NULL, "NO", "Linke to Function is not OK!!!!");
		}
	}
}
;原文链接:https://blog.csdn.net/sinat_28228747/article/details/115518893
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文


随机推荐