最近,在网上看到一则将图像相对于y轴对折的程序,看到不长就直接运行了一下,结构并不顺利,不过费点周折终于出来结果,先把过程详述如下:

1.首先,给出网络上的源程序,可能大家早就很熟了:

下面通过运用图像处理工具箱中的有关函数对下图(nice.bmp)进行一些变换。见后面的transfer.m内容!

变换前图片:(nice.bmp)

变换后所得图片:newpic.bmp

例,在电脑F\picture下有一彩色图像文件nice.bmp,则可由下述语句读取:

下面是对图像 nice.bmp以y轴为对称轴所做的一个对称变换。

% Transfer1.m

clear all

figure

[x,map]=imread('F:\picture\nice.bmp');% 所得x为一375x420x3的矩阵

[w1,w2,w3]=size(x); % 375 X 420

w22=floor(w2/2);

image(x); %显示出图像

title('HELLO! @This is the first pose of me')%则显示出图像nice.bmp

axis

off; % 去掉图像中的坐标

colormap(map); % colormap(),图像查找表函数。函数结构为colormap(map),设置当前的图像查找表到map。

imwrite(x,map,'nice.bmp')

for

i=1:w1 for

j=1:w22 % 图像关于y轴对折

t=x(i,j);

x(i,j)=x(i,w2-j 1);

x(i,w2-j 1)=t;

end

end

figure

image(x); axis off

title('HELLO!!@@ Can you find any difference of my two picture! ')

colormap(map);

imwrite(x,map,'newpic.bmp')

%把x写到nepic2.bmpz中去

2.

开始时,随便找了个彩色图片,按照上面的步骤运行,结果发现对折后的图片留有印痕,并没有完全

实现对折。后来发现,原来选的图片为真彩图片,而程序当中为索引图片。由于第一次接触图像处理,对于一些概念并不清楚,用imread对真彩图片进行读取操作是不能返回颜色表的,也就是map为空。于是通过rgb2ind先将原图片转换成索引图片,然后按程序进行,最终得到结果。

3.这当中也并非一帆风顺,给出的程序也有些小错误(本人菜鸟意见),包括:

(1)这个程序仅对应于索引图像,至于真彩图像该如何处理,有待高手指点;

(2)figure在程序中仅使用最开始的一个就可以了,第二个多余;

(3)“colormap(map); ”

操作很重要,将它注释掉以后,再进行图像写入操作时,发现颜色一片混乱,这个不太清楚,但个人感觉是颜色表出现不对应情况,等待高手深入解释;

(4)需要说明的是原图片为.bmp文件,过程当中尝试过jpg文件,也需要先转换成索引文件才能出来,但是Matlab中imwrite不能将索引文件直接写成jpg文件(不知为什么?),所以最后还是用bmp文件操作的。

3.最后,给出我的程序及结果:

function[]=main()%

%变换后所得图片:newpic.bmp

%例,在电脑F\picture下有一彩色图像文件nice.bmp,则可由下述语句读取:

%下面是对图像 nice.bmp以y轴为对称轴所做的一个对称变换。

% Transfer1.m

clear all

figure

[x,map]=imread('D:\nice3.bmp');% 所得x为一375x420x3的矩阵

[w1,w2,w3]=size(x); % 375 X 420

w22=floor(w2/2);

%w33=floor(w3/2);

cmap=map;

ax(1)=subplot(1,2,1);

image(x); %显示出图像

title('HELLO! @This is the first pose of me')%则显示出图像nice.bmp

axis

off; % 去掉图像中的坐标

colormap(map); % colormap(),图像查找表函数。函数结构为colormap(map),设置当前的图像查找表到map。

imwrite(x,map,'nice3.bmp')

for

i=1:w1 for

j=1:w22 % 图像关于y轴对折

%for k=1:w33

t=x(i,j);

x(i,j)=x(i,w2-j 1);

x(i,w2-j 1)=t;

end

end

%end

%figure

ax(2)=subplot(1,2,2);

image(x); axis off

title('HELLO!!@@ Can you find any difference of my two picture!

');

linkaxes(ax,'xy');

axis(ax,'image');

colormap(map);

imwrite(x,map,'D:\newpic.bmp') %把x写到nepic.bmpz中去

matlab图像对折,Matlab下如何将一个索引图像进行对折小程序--原创相关推荐

  1. AI图像照片动漫发型3D活化修复处理流量主小程序开发

    AI图像照片动漫发型3D活化修复处理流量主小程序开发 功能// 发型转换.表情编辑.活照片.闭眼转睁眼.漫画人像.黑白图片上色.图片趣味处理.图像清晰度增强.对比度增强.拉伸图片恢复.无损放大图片处理 ...

  2. matlab 图像白平衡算法,Matlab常用白平衡算法

    <Matlab常用白平衡算法>由会员分享,可在线阅读,更多相关<Matlab常用白平衡算法(21页珍藏版)>请在人人文库网上搜索. 1.1 灰色世界法灰色世界法(grey wo ...

  3. matlab 图像上下翻,Matlab图像九宫格基本操作(翻转,镜像等)+位图操作

    Matlab图像九宫格基本操作(翻转,镜像等)+位图操作 Matlab图像九宫格基本操作(翻转,镜像等)+位图操作 这次blog提到的操作对于matlab来说都很基础,而且对于有编程和计算机基础的人来 ...

  4. matlab图像融合评价,MATLAB 图像融合评估算法

    MATLAB 图像融合评价算法 function laplacian(ori_A,ori_B) path(path,'FusionEvaluation/') %Ori_A = imread('cloc ...

  5. matlab图像相加例子,MATLAB图像处理例子

    MATLAB图像处理例子 clc;clear all;close all; a = imread( railway_05.jpg ); b = rgb2gray(a); c = im2bw(b,240 ...

  6. matlab 图像尺寸 批量,matlab 图像批量修改图像大小

    网上上传图像的时候经常要修改图像的大小,这就用matlab写了一个小程序,能够批量修改图像的大小,顺便转换一下格式,挺好用的.先放在这里,有空的时候编译成exe. function [ ] = pho ...

  7. 怎么测试本地网页在不同分辨率下电脑显示效果_干货:微信小程序测试过程中的各个要点...

    文章转自:新梦想软件测试 小程序跟app一样,上线需要经过微信的审核.小程序产品的版本类型分为:开发版.体验版.正式版.开发版.体验版无需审核,只需要给微信号权限,经过扫小程序的二维码才能访问. 单纯 ...

  8. 微信小程序下拉刷新列表onPullDownRefresh;微信小程序上划加载列表onReachBottom;uni-app微信小程序下拉加载数据;uni-app微信小程序上划页面加载数据

    需求:微信小程序列表加载有两种方式,分别是按住页面下拉加载数据数据(触发onPullDownRefresh)和直接上划滚动页面到底部加载数据(触发onReachBottom函数). 本文主要是使用上划 ...

  9. matlab 图像矢量量化,MATLAB环境下基于矢量量化的说话人识别系统(1)

    第21卷第6期湖 北 工 业 大 学 学 报2006年12月 Vol.21No.6 Journal of Hubei Univer sity of Technology Dec.2006 [收稿日期] ...

最新文章

  1. javascript中构造函数的返回值问题和new对象的过程
  2. windows 10配置VS+MPI编程环境
  3. c语言查找功能的怎么使用方法,求C语言实现查询功能(如果选择3,如何实现查询)...
  4. boost::coroutine模块实现不对称echo的测试程序
  5. java静态类和非静态类的区别_Java中静态内部类和非静态内部类到底有什么区别?...
  6. C#面试题整理(不带答案)
  7. Python 中的可执行对象 eval,exec 和 compile与其在深度学习训练中的应用实例
  8. java泛型编程_Java编程泛型限定代码分享
  9. oracle19c配置scott创建,oracle 19c创建sample schema-HR,OE,SH等等
  10. 机试指南第七章-动态规划-笔记及背包问题
  11. I.MongoDB Features and Installation(Mongodb安装和介绍)
  12. winform DataGridView.Refresh()不及时更新,设计线程
  13. 自带CA ,sha256 哈希签名,2048 位加密 脚本,通用
  14. restorator打开后win10不能打开任何程序,右键桌面没有打开选项
  15. python vcf转换xls的简单实现
  16. mysql5.5免安装版教程_mysql 5.5.56免安装版配置方法
  17. vant-ui的官方入口
  18. js 数组的find和findIndex
  19. 特运tong app sign签名破解
  20. 【漫步计算机系统】:发展概览Ⅲ

热门文章

  1. Idea快速入门指南
  2. 24位行业精英:2018,区块链教会我最重要的一件事 |链捕手
  3. Python自学难吗?Python课程主要学些什么内容?
  4. flash插件+linux,Linux下的flash插件
  5. Ubuntu分区扩容
  6. 系统认证风险预测方案总结
  7. 服务器装系统提示获取分区失败,u盘装系统时获取硬盘分区失败怎么办
  8. 组合问题,用1元纸币兑换1分,2分和5分硬币,要求兑换总数为50枚,问组合方式多少种?
  9. 移动端UI界面设计之APP字体排版原则| 萧蕊冰
  10. 蕊蕊吃糖2870 C语言