OpenCV 基本图形处理集锦
来源:互联网 发布:centos 7 route add 编辑:程序博客网 时间:2024/06/01 10:11
//opencv显示文件中图片方法bool ShowImg(){UpdateData(true);CFileDialog fd(TRUE,_T("bmp"),_T(".bmp"),OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"位图文件(*.bmp)|*.bmp||",this);CString path;if(fd.DoModal()==IDOK){path=fd.GetPathName();}else return false;IplImage * pImgEmbed = cvLoadImage((const char *)(LPCTSTR)path, CV_LOAD_IMAGE_UNCHANGED);CDC* pDC = GetDlgItem(IDC_STATIC1) ->GetDC(); // 获得显示控件的 DC HDC hDC = pDC ->GetSafeHdc(); // 获取 HDC(设备句柄) 来进行绘图操作 CRect rect;GetDlgItem(IDC_STATIC1) ->GetClientRect( &rect ); int rw = rect.right - rect.left; // 求出图片控件的宽和高 int rh = rect.bottom - rect.top; int iw = pImgEmbed->width; // 读取图片的宽和高 int ih = pImgEmbed->height; int tx = (int)(rw - iw)/2; // 使图片的显示位置正好在控件的正中 int ty = (int)(rh - ih)/2; SetRect( rect, tx, ty, tx+iw, ty+ih ); //if(TraceFlag==FALSE) DrawFrame(pImgEmbed,TraceLocation); CvvImage cimg;cimg.CopyOf(pImgEmbed); // 复制图片 cimg.DrawToHDC( hDC, &rect ); // 将图片绘制到显示控件的指定区域内 cvWaitKey(50); ReleaseDC( pDC ); GetDlgItem(IDC_STATIC1)->ShowWindow(SW_SHOW);UpdateData(FALSE);return true;}//opencv矩形,圆,直线和文字的画法void showShape(){IplImage *iplImage_tem = cvLoadImage("test.jpg"); cvRectangle(iplImage_tem, pre_pt, cur_pt, cvScalar(GetBValue(stImageEditing.color),GetGValue(stImageEditing.color),GetRValue(stImageEditing.color),0), stImageEditing.iLineSize, 8, 0 ); int radius = sqrt((float)((pre_pt.x - cur_pt.x)*(pre_pt.x - cur_pt.x)) + (float)((pre_pt.y - cur_pt.y)*(pre_pt.y - cur_pt.y)));cvCircle( iplImage_tem , pre_pt , radius , cvScalar(GetBValue(stImageEditing.color),GetGValue(stImageEditing.color),GetRValue(stImageEditing.color),0) , stImageEditing.iLineSize , CV_AA , 0 );cvLine(iplImage_tem , pre_pt , cur_pt , cvScalar(GetBValue(stImageEditing.color),GetGValue(stImageEditing.color),GetRValue(stImageEditing.color),0) , stImageEditing.iLineSize , 8 , 0);CvxText text("simhei.ttf");//初始化为黑体CHAR showThisText[100]={"测试文字内容"};CvScalar tem_scalar;tem_scalar.val[0] = stImageEditing.iFontSize+20;tem_scalar.val[1] = 0.5;tem_scalar.val[2] = 0.1;tem_scalar.val[3] = 0;text.restoreFont(tem_scalar);pre_pt.y -=10;text.putText(iplImage_tem, showThisText, pre_pt, CV_RGB(GetRValue(stImageEditing.color),GetGValue(stImageEditing.color),GetBValue(stImageEditing.color)));}
0 0
- OpenCV 基本图形处理集锦
- opencv:基本图形绘制
- opencv 图形处理 && nodejs
- 基本图形处理
- opencv:基本图形的绘制
- OPencv基本图形的绘制
- opencv基本图像处理
- openCV的图形程序的基本介绍
- OpenCV绘制基本图形和文字
- OpenCV - 基本图形函数的使用
- opencv处理文件、摄像头和图形用户界面
- opencv图像处理基本操作
- OPencv图像处理基本操作
- opencv图像处理基本操作
- php 基本的图形处理函数
- OpenCV笔记(二)——基本图形的绘制
- opencv学习笔记(三)-绘制基本图形及文字
- 学习opencv之各种基本平滑处理
- ngrok内网穿透教程
- word2vec 中的数学原理详解-基于 Negative Sampling 的模型
- 杭电-1108 最小公倍数 (LCM&GCD)
- 10.补码+位运算符+NULL+链表
- c 语言位操作
- OpenCV 基本图形处理集锦
- poj—2528Mayor's posters-线段树+区间离散化
- linux命令总结
- soft raid5阅读笔记之三--写数据流程
- Windows命令行下查询进程与杀进程
- 设计模式(七) 适配器模式
- 实现编码方式读取properties
- Ubuntu安装jdk8(oracle jdk,而不是open jdk)
- C++ time and date