wordpress 跳转特效,北京网站优化推广收集,wordpress的平台,济南学网站建设哪里好目录
一#xff0c;BMP文件组成
二#xff0c;使用ultra edit软件查看图像结构
1#xff0c;ultra edit软件的下载和安装
2#xff0c;ultra edit打开图像 三#xff0c;使用matlab显示RGB图像 在之前的文章学习到#xff0c;计算机只能处理数字图像#xff0c;因…目录
一BMP文件组成
二使用ultra edit软件查看图像结构
1ultra edit软件的下载和安装
2ultra edit打开图像 三使用matlab显示RGB图像 在之前的文章学习到计算机只能处理数字图像因此这篇文章我接着学习数字图像的位图文件结构。
一BMP文件组成 BMP文件由四部分组成
位图文件头 所存的内容如下 typedef struct tagBITMAPFILEHEADER
{WORD bfType; // 字节 BMDWORD bfSize; // 文件大小表示文件的总字节数WORD bfReserved; // 保留字一般设为标准值0WORD bfReserved; // 保留字一般设为标准值0DWORD bfOffBits;// 位图数据的起始位置位图数据距文件头的偏移量
}BITMAPFILEHEADER; 位图信息头 typedef struct tagBITMAPINFOHEADER
{DWORD biSize; // 本结构大小的字节数 LONG biWidth; // 图像的宽单位为像素点 LONG biHeight;// 图像的高单位为像素点WORD biPlanes; // 位平面数一般设为标准值1即可 WORD biBitCount;// 每个像素所需的位数单色位图一个像素占一位灰度图和伪彩色图8位真彩色24位 DWORD biCompression; // 位图压缩类型对于bmp来说一般不压缩设为标准值0DWORD biSizeImage; // 位图大小以字节为单位 LONG biXPelsPerMeter; // 指定目标设备的水平分辨率。设为标准值0 LONG biYPelsPerMeter;// 指定目标设备的垂直分辨率。设为标准值0 DWORD biClrUsed; //颜色数。设为标准值0 DWORD biClrImportant;// 重要的颜色数。设为标准值0
}BITMAPINFOHEADER; 调色板 typedef struct tagRGBQUAD
{BYTE rgbBlue; // 蓝色 BYTE rgbGreen; // 绿色 BYTE rgbRed; // 红色 BYTE rgbReserved; // 保留的字节设为标准值0
}RGBQUAD; 位图数据 typedef struct tagBITMAPINFO
{BITMAPINFOHEEADER bmiHeader;RGBQUAD bmicolors[1]; // 颜色表
}BITMAPINFO; 如果有颜色表的话数据值就是颜色表的索引号。
小知识word类型占2个字节dworddouble word类型占4个字节long类型占4个字节。
之所以要了解BMP文件的组成结构不仅是因为在软件开发上要用这几个变量存储位图数据而且也是为了能够分析图像的数据。
接下来就开始分析图像的数据。
位图文件常见的格式有
jpeg或 jpg全称 joint photographic experts group 联合图像专家组gif全称 graphics interchange format 图像互换格式 可以看到gif 格式常用于表情包、视频截取。bmp全称 bit map 位图 tiff全称 tag image format file 标签图像文件格式
二使用ultra edit软件查看图像结构 在处理图像时或多或少会用到一个软件ultra edit。因为ultra edit 软件可以将打开的文件所对应的ASCII码输出很大程度上有助于分析图像的数据。 软件下载及安装如下↓
1ultra edit软件的下载和安装
对应软件到夸克网盘链接下载https://pan.quark.cn/s/de62f2f5b1f6
下载之后是个压缩包 将压缩文件剪切到空间比较大的磁盘或者是解压到习惯将软件下载的盘符下并创建一个有“ultra edit”这两个关键字的文件夹名之后在创建的文件夹里面解压压缩包。 之后两步走
运行exe可执行文件没什么注意的就是软件的安装路径需要需改以及最后不要勾选任何选项。之后使用管理员身份运行bat文件如果显示如下信息 The customized UE directory is F:\APP\UE_27_x64\The environment is initialized !已复制 1 个文件。*********************** Step A rps_UE has been done ! ************************Item A has been added !Item B has been added !*********************** Step B has been done ! ***********************IP1 has been added!IP2 has been added!IP3 has been added!IP4 has been added!IP5 has been added!Strategy has been applied !*********************** Step C has been done ! ***********************----------------------- 注册环境成功请按任意键退出------------------------ 则表示ultra edit软件安装成功。接着打开ultra edit软件并打开图像查看图像数据信息
2ultra edit打开图像 之后就会输出如下信息 图像文件的数据分布情况↓
可以看到包含内容的图像文件数据很多因此建议用画笔软件新建一张只有一个像素的24位位图一个像素的位图用ultra edit软件打开只看到文件头部分打开画笔软件
接着鼠标左键点击“文件”→选择“属性”如右图所示 在弹出的界面里面修改宽和高都设置为1表示图像的大小只有1×1。 修改之后保存成24位位图的格式 ↓ 最后再用ultra edit软件打开只有一个像素的24位位图显示的数据如下↓
结合之前的位图文件头结构 前两个字节是字节‘BM’后四个字节是整个文件大小接着后四个字节是保留字最后四个字节是偏移量 其中需要注意的有两个地方
3A 00 00 00这四个字节是整个文件或数据区的大小由于是从低位到高位排列低位在前高位在后因此需要将“3A 00 00 00”倒过来写变成“00 00 00 3A ”36 00 00 00位图数据距文件头的偏移量和文件大小一样也是从低位到高位排列低位在前高位在后因此需要将“36 00 00 00”倒过来写变成“00 00 00 36 ”。
之后的40个字节就是BITMAPINFOHEADER的结构 三使用matlab显示RGB图像 如果没有下载matlab软件请点击如下链接去下载 ↓
matlab软件下载安装及修改项目工作目录_matlab解压密码用于所有压缩文件中-CSDN博客 需要注意的是读取的图像要放置在代码文件对应的目录下例如我的代码文件text1.m所使用的编辑器的工作路径在“D:\myMatlab”下因此将图像复制或者是剪切到“D:\myMatlab”目录下 更方便的方法是添加图像文件夹到编辑器的搜索路径中 ↓ 如上操作之后即使图像和代码文件不在同一个文件夹编辑器也可以搜索到图像文件。
% 清空工作区
clear ;
clc;
close all;
timread(lena_color_256.tif);
gim2gray(t);
set(0,defaultFigureColor,[0 1 1]);
set(0,defaultFigurePosition,[100,100,1000,500]);
subplot(121);imshow(t);
subplot(122);imshow(g);代码注解
clear ; %清空工作空间的变量
clc; %清屏
close all; % 关闭当前所有图形窗口
timread(lena_color_256.tif); %imread函数读取图像
gim2gray(t); %im2gray函数将rgb图像转换成灰度图像
set(0,defaultFigureColor,[0 1 1]); %图形窗口的背景颜色青色
set(0,defaultFigurePosition,[100,100,1000,500]); % 图形窗口的位置和大小
subplot(121);imshow(t); % subplot函数用于显示多个图形窗口121表示总共有一行两列该图形窗口显示在第一列
%imshow函数显示图像显示的是读取的rgb图像
其中
set(0,defaultFigureColor,[0 1 1]); %图形窗口的背景颜色青色
图形窗口的背景颜色可以有8个组合 ↓ 将表中的255替换成1就是图形窗口的背景色 8位伪彩色的颜色索引表 我的记忆方法是利用谐音法
三原色rgb红绿蓝谐音红绿灯。从红色开始红黄紫白谐音红花纸白。蓝色就只有G值有255值。从绿色开始绿青谐音滤清。
有问题请在评论区留言或者是私信我回复时间不超过一天。