⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 createhistogram.txt

📁 这是机械工业张德丰《MATLAB与外部程序接口编程》随书源码
💻 TXT
字号:
void CDipView::OnViewHist()
{
	CDipDoc *pDoc=GetDocument();
	ASSERT_VALID(pDoc);
	    //判断当前是否有图像对象
	if(pDoc->m_pDibObject==NULL)
		return;
	//在点处理CPointPro类中创建用来绘制直方图的数据
	CPointPro PointOperation(pDoc->m_pDibObject);
	int *pHistogram=PointOperation.GetHistogram();
	//生成一个对话框CHistDlg类的实例
	CDlgIntensity HistDlg;
	//将绘制直方图的数据传递给CHistDlg对话框的公有成员变量m_pnHistogram
	if(pHistogram!=NULL)
	{
		//设置直方图数据指针
		HistDlg.m_pnHistogram=pHistogram;
		//设置当前像素为0的像素数
		HistDlg.m_nCurrentPiexsNum=pHistogram[0];
		//设置是否为256级灰度图像
		HistDlg.m_bIsGray256=PointOperation.IsGray256();
	}
	//显示对话框
	if(HistDlg.DoModal()!=IDOK)
		return;
	delete[]pHistogram;
}




void CDipDoc::OnViewHistmatlab()
{
	Engine *ep;   //定义MATLAB引擎变量
	CString command;
	if(!(ep=engOpen("\0")))  //打开MATLAB引擎
	{
		fprintf(stderr,"\n MATLAB引擎启动失败!\n");
		MessageBox(NULL,"MATLAB引擎启动失败!","MATLAB",MB_OK| MB_
ICO NERROR);
		exit(-1);
	}
	CString strPathName=GetPathName();
	//实现MATLAB命令
	command="data=imread("'+strPathName+'")";
	//通过MATLAB引擎执行MATLAB命令
	engEvalString(ep,command);
	engEvalString(ep,"figure,imshow(data)");
	engEvalString(ep,"figure('visible','off','NumberTitle','off','Name','图像的直方
图统计','MenuBar','none'),imhist(data)");
	 MessageBox(NULL,"关闭MATLAB引擎,系统将退出MATLAB应用程序!", "MATLAB","MB_OK | MB_ICONINFORMATION");
	engClose(ep);   

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -