DC绘制矢量图与OpenCV绘制矢量图的比较
来源:互联网 发布:mui.min.js下载 编辑:程序博客网 时间:2024/06/04 20:07
场景: 有100000条直线, 需要绘制出来, 并且保存为BMP文件, 直线很长, bmp文件很大
一. 方法1
使用OpenCV.大概步骤:
A. 创建图像
pCVImage = cvCreateImage(cvSize(sizeBmp.cx, sizeBmp.cy), 8, 1);
B. 循环绘制直线
cvSet(pCVImage, CV_RGB(255, 255, 255));
cv::Mat mat(pCVImage);
CvPoint point1, point2;
loop:
cv::line(mat, point1, point2, CV_RGB(0, 0, 0));
C. 保存为图片
cvSaveImage("C:\\cv.bmp", pCVImage);
二. 方法2:
使用Window 内存DC绘制, 然后保存为BMP图片.
使用内存DC绘制有一点复杂, 要注意的问题有:
A. 内存Bitmap的大小问题, 如果使用CBitmap创建不能创建大的bmp图片, 所以只能使用CreateDIBSection来创建Bitmap.
B. BITMAPINFOHEADER填充容易出错, 特别是考虑不同位数的Bitmap时, 注意颜色表的正确解析和填充.
C. 从DC保存为BMP图片, BMP图片格式需要自己处理. 并且需要从CDC中获得BMP的各个数据.
三. 方法3
使用CDib
(没有时间尝试!!!!!!!!!!!)四. 比较结果
使用内存DC绘制比OpenCV绘制快(在数据量相同, 位数相同的情况下, 快1.5至2倍),
但OpenCV使用上很方便.
(这里指比较绘制速度, 没有比较保存文件的速度)
我的理解是OpenCV需要把位图数据转换成矩阵, 所以影响了绘制速度
- DC绘制矢量图与OpenCV绘制矢量图的比较
- Android的Vector矢量图绘制
- Matlab 绘制矢量图
- raphael矢量图绘制工具
- JavaScript绘制矢量图
- android绘制矢量图
- 用javascript程序绘制的矢量图
- IOS绘制矢量图 SVGKIT 的使用
- 矢量图原理以及带有绘制矢量图的网站,可生成矢量图的路径path
- 在VB6中使用API函数实现矢量图的绘制。
- 在VB6中使用API函数实现矢量图的绘制
- 如何使用Android的VectorDrawable类绘制矢量图
- C#绘制矢量图(Metafile,WMF,EMF)
- 使用R语言绘制芝加哥矢量图
- 使用R语言绘制芝加哥矢量图
- 矢量图
- 矢量图
- 矢量图
- 遍历所有进程并找到指定进程停止
- RHEL6关闭Selinux、防火墙
- 如何在IIS7下配置ASP+ACCESS环境?
- 开启从Lotus 邮件系统到Exchange 系统的转移篇章-POC过程- 修改Exchange 2010 相关设定!
- Android 解析网络XML(果子TV更新升级模块解析二)
- DC绘制矢量图与OpenCV绘制矢量图的比较
- epoll使用详解(精髓)
- automatic dirty checking
- DB2命令小结
- 做表换行问题
- 把wordpress的栏目链接修改成栏目下第一篇文章的链接
- Ubuntu Server如何配置SFTP
- Lucene 索引去重
- Huffman树实现与应用(编码解码压缩解压缩)