把opencv Mat 按位存成bmp二值图像 (1bit 1pixel)
来源:互联网 发布:店铺如何申请淘宝直播 编辑:程序博客网 时间:2024/06/05 15:50
1
把opencv Mat 按位存成bmp二值图像 (1bit 1pixel)
1.用位操作把Mat存到一段类存中,注意每个像素占一个bit
2. 把Mat写成bmp格式的图像(包含 windows.h 头文件)
2
BMP头文件格式以及C语言读取头文件(二)
如某BMP文件开头:
424D 4690 0000 0000 0000 4600 0000 2800 0000 8000 0000 9000 0000 0100*1000 0300 0000 0090 0000 A00F 0000 A00F 0000 0000 0000 0000 0000*00F8 0000 E007 0000 1F00 0000 0000 0000*02F1 84F1 04F1 84F1 84F1 06F2 84F1 06F2 04F2 86F2 06F2 86F2 86F2 .... ....
BMP文件可分为四个部分:位图文件头、位图信息头、彩色板、图像数据阵列,在上图中已用*分隔。
一、图像文件头
424D 4690 0000 0000 0000 4600 0000 2800 0000 8000 0000 9000 0000 0100*1000 0300 0000 0090 0000 A00F 0000 A00F 0000 0000 0000 0000 0000*00F8 0000 E007 0000 1F00 0000 0000 0000*02F1 84F1 04F1 84F1 84F1 06F2 84F1 06F2 04F2 86F2 06F2 86F2 86F2 .... ....
BMP文件可分为四个部分:位图文件头、位图信息头、彩色板、图像数据阵列,在上图中已用*分隔。
一、图像文件头
3 RGB和RGBQUAD的区别
COLORREF GetPixel(
HDC hdc, // handle to DC点击打开链接
int nXPos, // x-coordinate of pixel
int nYPos // y-coordinate of pixel
);
HDC hdc, // handle to DC点击打开链接
int nXPos, // x-coordinate of pixel
int nYPos // y-coordinate of pixel
);
====================================================
OPENCV捕捉到的视频怎么转换成BMP格式的图片,并在picture控件中显示
你用的OpenCV转到的图像是Mat类型还是其他的?Mat的话可以转成CImage来显示在picture控件上:
int MatToCImage( Mat &mat, CImage &cImage){ //create new CImage int width = mat.cols; int height = mat.rows; int channels = mat.channels(); cImage.Destroy(); //clear cImage.Create(width, height,8*channels ); //默认图像像素单通道占用1个字节 //copy values uchar* ps; uchar* pimg = (uchar*)cImage.GetBits(); //A pointer to the bitmap buffer int step = cImage.GetPitch(); for (int i = 0; i < height; ++i) { ps = (mat.ptr<uchar>(i)); for ( int j = 0; j < width; ++j ) { if ( channels == 1 ) //gray { *(pimg + i*step + j) = ps[j]; } else if ( channels == 3 ) //color { for (int k = 0 ; k < 3; ++k ) { *(pimg + i*step + j*3 + k ) = ps[j*3 + k]; } } } } return 0;}
阅读全文
0 0
- 把opencv Mat 按位存成bmp二值图像 (1bit 1pixel)
- 把opencv Mat 按位存成bmp二值图像 (1bit 1pixel)
- opencv Mat 理解(1)
- openCV(1)-Mat初始化
- opencv c++函数 基础1 Mat基本图像容器
- 学习笔记之OpenCV(1):Mat图像扫描
- OpenCV学习1 Mat图像的常见读写方式
- opencv中遍历图像(Mat格式)
- opencv Mat 图像拼凑
- opencv Mat创建图像
- Opencv图像Mat操作
- 【OpenCV学习笔记】之四:二值图像细化方法/骨架提取----基于2.0 Mat接口
- OpenCV中的三种图像数据结构CvMat, IplImage和Mat(二)IplImage
- OpenCV学习笔记(二)——Mat,图像的新容器
- 计算机视觉之OpenCV教程 --- Mat图像类基础(二)
- Converting an RGB image to 1 bit-per-pixel monochrome(源码)
- Converting an RGB image to 1 bit-per-pixel monochrome(源码)
- opencv图像拼接,即把两个矩阵合并为一个(vconcat和hconcat)、Mat成员函数size()
- tf.app.run()的作用
- 在Openfire上弄一个简单的推送系统
- rgba()和opacity的区别
- StreamTools.java9
- Java基础---final关键字
- 把opencv Mat 按位存成bmp二值图像 (1bit 1pixel)
- Keepalived安装/简单配置
- 干货
- Android NDK 编译PjSip 2.6 之 环境准备 (一)
- WPF 自定义DateTimePicker控件,实现时间设置与选择
- oracle用户被锁定the account is locked的解决办法
- 记录一些常见的Linux命令
- ajax页面动态判断
- 浅析Hololens HoloToolkit中Utilities下通用脚本的用法