资源简介
自己修改读入图片路径
代码片段和文件信息
#include “Windows.h“
#include
#include
//using namespace std;
// 动态申请二维内存(指针数组)的函数
template
void NewArr(T**& Array int row int line)
{
Array = new T*[row];
for (int i = 0; i != row; i++)
{
Array[i] = new T[line];
memset(Array[i] 0 sizeof(T) * line);
}
}
// 动态释放二维内存的函数
template
void DeleteArray (T**& Array int line)
{
for (int i = 0; i < line; i++)
{
delete[] Array[i];
Array[i] = NULL;
}
delete[] Array;
Array = NULL;
}
// 函数说明
// path 文件图片的绝对地址
// bf bi作为两个输出参数 函数内部完成初始化
// lpBit 图像数据 一个超级大的二维数组(一级指针数组) 可以丢一个空指针进去 函数内部代为申请内存
void ReadBitmap(const char* path BITMAPFILEHEADER& bf BITMAPINFOHEADER& bi unsigned char**& lpBit)
{
FILE* fp = fopen(path “rb“);
if (fp == NULL)
{ printf(“没有找到需要转换的图片“);
exit(0);
}
fread(&bf sizeof(BITMAPFILEHEADER) 1 fp); // 写入文件头
fread(&bi sizeof(BITMAPINFOHEADER) 1 fp); // 写入信息头
NewArr(lpBit bi.biHeight (bi.biWidth * 3 + 3) / 4 * 4);
for (int i = 0; i < bi.biHeight; i++)
for (int j = 0; j < (bi.biWidth * 3 + 3) / 4 * 4; j++)
fread(&lpBit[i][j] sizeof(unsigned char) 1 fp); // 每次读入一个字节
fclose(fp);
}
// 函数说明
// path 文件图片的绝对地址
// bf bi作为两个输入参数
// lpBit 图像数据 经过ReadBitmap初始化后作为输入参数
void WriteBitmap(const char* path BITMAPFILEHEADER& bf BITMAPINFOHEADER& bi unsigned char**& lpBit BYTE limit)
{
FILE* fp;
fp = fopen(path “wb“);
if (fp == NULL)
exit(0);
BITMAPFILEHEADER newbf; // 初始化文件头
memcpy(&newbf &bf sizeof(BITMAPFILEHEADER));
int newbfWidth = (bi.biWidth + 3) / 4 * 4; // 4字节补齐
int newbfImageSize = newbfWidth * bi.biHeight; // 位图数据实际大小
newbf.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHE
- 上一篇:C语言上机考试经典100题--南开大学出品
- 下一篇:操作系统的模拟实现 C++编写
相关资源
- 用C语言进行数字图像处理
- 基于esp32的摄像头采集图像代码
- basler相机图像采集和显示
- opencv图片扫描以及校正
- 图像预处理五种滤波
- 基于opencv漫水填充算法综合
- 基于改进的fcm算法的图像分割vc++
- 利用C++类实现PNG图像读写及显示
- Visual+C++数字图像处理-谢凤英-源代码
- 基于图割的图像分割OpenCV+MFC实现
- Bmp图像处理.zip
- VC++数字图像处理典型算法及实现
- 基于MFC的图像的拼接系统
- Visual C++数字图像实用工程案例精选源
- MFC VC++实现Sierpinski分形图像
- VC6.0 完整的图像处理程序 运用了大量
- VC图像处理-用Canny算子提取边缘
- 基于图像的二代身份证识别
- 数字图像处理扑克牌识别程序
- 数字图像处理与机器视觉——Visual
- 基于leapmotion的HMM手势识别
- C++ 图像处理283241
- C++图像伪彩色处理源代码
- C++数字水印完整系统参考
- 图像处理方面学习的好MFC显示直方图
- Visual C++.NET图像处理编程源代码 陆宗
- 使用c++读取图像到二维矩阵
- 中值滤波_均值滤波c语言实现_工程文
- 直方图均衡化_c语言实现_源代码+实验
- (VC++ 数字图像处理典型算法及实现源
评论
共有 条评论