IC Imaging Control 捕捉的BMP转换到Emgu的Image(1)
来源:互联网 发布:中小学生安全网络答题 编辑:程序博客网 时间:2024/06/09 22:24
映美精提供的IC Imaging Control .net控件,其捕捉的Bitmap,直接使用语句
Image<Gbr,Byte> img = new Image<Gbr,Byte>(bitmap) //语句1
编译可以通过,但是执行会报 Opencv未名错误。
但是VS2008的Picturebox可以直接使用IC控件的Bitmap, 微软够强。
使用LockBits锁定Bitmap的内存
BitmapData bmpData = bmp.LockBits(new Rectangle(0, 0, 1280, 960), System.Drawing.Imaging.ImageLockMode.ReadWrite, bmp.PixelFormat);
看到IC控件捕捉的Bitmpa其Stride是负值。
若将其存为图像文件,再次载入,使用【语句1】,便会成功。
暂时先使用
Image<Gbr,Byte> img = new Image<Bgr, byte>(1280,960,bmpData.Stride,bmpData.Scan0);
可以成功。
现在测时为7毫秒左右。 先前,测试要120多毫秒。还不知道原因。
若使用先存一下文件,使用【语句1】,则耗时42毫秒。
使用Unsafe代码,就是用指针遍历Bitmap的像素,赋值给img.Dat,也耗时40多毫秒。
unsafe { Byte* ptr = (byte*)bmpData.Scan0; for (y = 0; y < 400; y++) { for (x = 0; x < 1280; x++) { img .Data[x,y,0] = *ptr; img .Data[x, y, 1] = *(ptr + 1); img .Data[x, y, 2] = *(ptr + 2); } ptr += bmpData.Stride - bmpData.Width * 3; } }//unsafe
- IC Imaging Control 捕捉的BMP转换到Emgu的Image(1)
- bmp 到IplImage的转换
- WPF 将Bitmapsource转换到Emgu.cv.image
- 关于EMGU CV的那些事——2.摄像头捕捉(RGB and GRAY)
- [转]bmp 到IplImage的转换
- OpenCV的ppm到bmp图片格式转换
- OpenCV的ppm到bmp图片格式转换
- ARM IMPORT |Image$$RO$$Limit| 的含义(21IC)
- Emgu的Image(Of Gray,Byte)转OpenCV的IplImage
- Emgu的Image(Of Gray,Byte)转OpenCV的IplImage
- 【Emgu】一起学EmguCV(二)Image和Matrix的使用
- 【Emgu】一起学EmguCV(二)Image和Matrix的使用
- 【Emgu】一起学EmguCV(二)Image和Matrix的使用
- BMP图像文件到CCS中DAT文件的转换
- VC中JPEG格式到BMP格式的转换
- 基于easyBMP1.06实现bmp到IPlImage的转换
- WinCE5.0的 Imaging API 显示JPG BMP PNG 图片问题
- 【EMGU】EMGU中人脸检测的例子
- 对任何希望深入理解C#的程序员来说,这本书都是不容错过的经典书籍
- 基于ZLG/BOOT的linux2.6内核移植(s3c2410)
- rmdev、chdev、reducevg、exportvg和importvg命令执行了什么操作
- MVC
- Java值传递和引用传递的问题
- IC Imaging Control 捕捉的BMP转换到Emgu的Image(1)
- IBM Doc center
- C++对象初始化
- iphone上的几个我比较喜欢的应用
- 程序员常犯的5个非技术性错误
- JBPM核心调度过程
- Tomcat性能调优方案
- build.xml
- 每天写出好代码的5个建议