数字图像处理(Digital Image Processing) 相关matlab实验

本文介绍了使用MATLAB进行数字图像处理的实验,包括利用rotation.m和translation.m函数实现图像的移动和旋转,以及基于LSB(最低有效位)原理在彩色图片中隐藏另一张彩色图片的方法。通过代码示例和实验过程,展示了MATLAB在图像处理领域的应用。
摘要由CSDN通过智能技术生成

(写这篇文章只是出于互相帮助,讨论的目的,有错误欢迎指出,排版不好,有望见谅)

 前言

在开始内容之前,我想说的是本人并没有将一些经验或个人感觉发布到网上的习惯,出于在做图像处理matlab实验时网上很少能找到一些资料,所以出于对特斯拉的崇拜,决定将自己所做的相关实验结果发布,希望有所帮助,如有雷同,我只能说,好巧哦b( ̄▽ ̄)d 。

 移动和旋转函数

文件内容

(以下是老师发的函数文件,按照老师的要求,是要我们做出一些有趣的东西,在这里我只用到了两个,没办法,懒。)

rotation.m

function [B] = rotation(A,theta)
 [h,w] = size(A);
 h0 = h/2; w0 = w/2;
 B = uint8(zeros(h,w));
 theta = pi/180*theta;
 for k = 1 : h
     for l = 1 :w
         x_kl = (k-h0)*cos(theta)+(l-w0)*sin(theta)+h0; 
         y_kl = -(k-h0)*sin(theta)+(l-w0)*cos(theta)+w0;
        if x_kl>=1 & x_kl<=h & y_kl>=1 & y_kl<=w
         B(k,l) = A(round(x_kl),round(y_kl));
        end
     end
 end

translation.m

function [B] = translation(A,dh,dw)
 [h,w] = size(A);
 h0 = h/2; w0 = w/2;
 B = uint8(zeros(h,w));
 for k = 1 : h
     for l = 1 :w
         x_kl = k + dh; y_kl = l+dw;
        if x_kl>=1 & x_kl<=h & y_kl>=1 & y_kl<=w
         B(k,l) = A(x_kl,y_kl);
        end
     end
 end

下面是我的做法 

(在老师的讲课中,我似乎听到关于rotation.m这个函数可以怎么玩的灵感,rotation[ ] 用于使图片旋转一定的角度,正角为逆时针方向,负角为顺时针方向,如果不停使图片转动一个角度,就好玩了,所以在几个小时的捣鼓后,找到了方法) 

rotate_image.m

%clear all;close all;clc;
%result=imread('girl.bmp');#使用灰度图像需注销彩色图层拆分函数
result=imread('spin.bmp');
%result=imread('yinyang.bmp')
imshow(result);pause(0.05);
for i=1:48
    eval(['A',num2str(i),'=',num2str(i),';']);
    i=result;
    %result=rotation(i,-30);%用于灰度图像
    %彩色图层先分离后合并
    R=i(:,:,1);
    G=i(:,:,2);
    B=i(:,:,3);
    result(:,:,1)=rotation(R,-30);
    result(:,:,2)=rotation(G,-30); %把某一、两个角度调成正的有不一样的感觉,原理你懂的
    result(:,:,3)=rotation(B,-30);
    imshow(result);pause(0.05);
end

 (上面是我写的用到rotation.m的结果函数。我先网上找到可以不断改变变量名的方法                                                 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值