Ø  【作业要求】

Perform either of the following two tasks:

1. Write your own imresize() function codeto simulate the matab function imresize(). You should implement at least the‘nearest’ and the ‘bilinear’ methods. Compare you result with the matlabfunction imresize().

2.Design interpolation or tranformation algorithm to build some cool images.

Submit your code, result, and report. Youcan use the two attached images or other images for testing.

Ø  【作业思路】

一、          浮雕效果

每个像素的RGB值都设置为该位置的初始值img(I,j)减去其右下方第二的像素img(i+5,j+5)的差,最后统一加上128用于控制灰度,显示出类似浮雕的灰色。

这样处理的思路是,将图像上的每个点与它的对角线的像素点形成差值,这样淡化相似的颜色,突出不同的颜色、边缘,从而使图像产生纵深感,产生类似于浮雕的效果。

开始我采用了img(I,j)-img(i+1,j+1),后来与img(I,j)-img(i+5,j+5)实现的效果比较后发现,后者变换后的图像更“凸出”,效果更好,于是就采用了后者。

效果如下:

二、          水中倒影效果

倒影效果分两部分实现:

第一部分是对原图像的模糊化,用来展现水中倒影的样子。

这里的模糊是采用让每个像素点在原来的位置周围随机振荡的方式实现的。具体来看,我是生成了两个随机变量deltax,deltay作为像素”跳跃”的坐标变化——即将img(i+deltax,j+deltay)处的值复制到img(I,j)处。这个像素”跳跃“的范围在半径为20的圆内。

第二部分是图像的拼接。首先需要将第一部分中获得的模糊图像镜面反转。

然后生成一个原图像两倍大的图像——宽度不变,高度变为原来的两倍。其中,新图像的上半部分为原图像,下半部分为镜面反射后的模糊图像。拼在一起后,就形成了水中倒影的效果。

上期谜语:不施粉黛(二字数字图像术语)—— 像素

Ø  【文件说明】

main.m:

主程序,包含了对图像进行浮雕效果和倒影效果的处理程序。

%% relievo the image
img1 = imread('ha.jpg');
ret1 = relievo(img1);
subplot(1,2,1);
imshow(img1);
subplot(1,2,2);
imshow(ret1);%% dim the image & create the inverted reflection in water
img2 = imread('building.jpg');
% dim the image
ret2 = dim(img2);
% direct reflection of the dim image
ret2 = flip(ret2);
m = size(ret2, 1);
n = size(ret2, 2);
% combine the source image & the dim image
for i = 1:mfor j = 1:nfor k = 1:3output(i,j,k) = img2(i,j,k);endend
end
% combine the source image & the dim image
for i = 1:mfor j = 1:nfor k = 1:3output(i+m,j,k) = ret2(i,j,k);endend
end
subplot(1,2,1);
imshow(img2);
subplot(1,2,2);
imshow(output);

relievo.m:

对传进来的图像矩阵进行浮雕效果变换的函数。

function [ ret ] = relievo( img )
%RELIEVO transform the pictures to relievo styleR = img(:,:,1); G = img(:,:,2); B = img(:,:,3); m = size(img, 1);n = size(img, 2);for i = 1:m-5for j = 1:n-5RR(i,j) = R(i,j) - R(i+5,j+5) + 128;GG(i,j) = G(i,j) - G(i+5,j+5) + 128;BB(i,j) = B(i,j) - B(i+5,j+5) + 128;endendret(:,:,1) = RR;ret(:,:,2) = GG;ret(:,:,3) = BB;
end

dim.m:

对传进来的图像矩阵进行模糊的函数,作为倒影。

function [ ret ] = dim( img )
%DIM transform the pictures to be dimedR = img(:,:,1); G = img(:,:,2); B = img(:,:,3); m = size(img, 1);n = size(img, 2);for i = 1:m-20for j = 1:n-20deltax = fix(rand(1)*20);deltay = fix(rand(1)*20);ii = i + deltax;jj = j + deltay;RR(i,j) = R(ii,jj);GG(i,j) = G(ii,jj);BB(i,j) = B(ii,jj);endendret(:,:,1) = RR;ret(:,:,2) = GG;ret(:,:,3) = BB;
end

【数字图像处理】浮雕效果和倒影效果相关推荐

  1. 结合实例与代码谈数字图像处理都研究什么?

    图像处理(以及机器视觉)在学校里是一个很大的研究方向,很多研究生.博士生都在导师的带领下从事着这方面的研究.另外,就工作而言,也确实有很多这方面的岗位和机会虚位以待.而且这种情势也越来越凸显.那么图像 ...

  2. 数字图像处理大作业实验报告

        <数字图像处理> 期末大作业 班    级:数字媒体技术2020级1班 姓    名:快乐的小蓝 学    号:XXXXXXXXX XXXX大学信息学院 目录 一.任务描述 二.设 ...

  3. 数字图像处理、拼接,图像静态滤镜(GPUImage/GPU加速) - Android

    图像滤镜处理的两种方式:RGB点乘运算:GPU的矩阵运算(效率更高).图片处理中的计算:RGBA~利用自带的方法修改色调,饱和度,亮度来修改图片:矩阵~利用矩阵计算得到新的矩阵修改图片. 几个图像像素 ...

  4. 077_《Delphi数字图像处理及高级应用》

    <Delphi数字图像处理及高级应用> Delphi 教程 系列书籍 (077) <Delphi数字图像处理及高级应用> 网友(邦)整理 EMail: shuaihj@163. ...

  5. matlab课程数字图像处理设计题目,数字图像处理课程设计题目和要求_2013

    数字图像处理课程设计内容.要求 题目一:图像处理软件 1.设计内容及要求: (1).独立设计方案,实现对图像的十五种以上处理(比如:底片化效果.灰度增强.图像复原.浮雕效果.木刻效果等等). (2). ...

  6. 数字图像处理:边缘检测(Edge detection)

    转载自:https://zhuanlan.zhihu.com/p/59640437 觉得写得通俗易懂,要是每个人的博客都这么人性化.... 写在前面: 本文篇幅较长,用了大量图与公式帮助大家深入理解各 ...

  7. C语言数字图像处理编程

    C语言数字图像处理 读取bmp图像并做简单显示 bmp图像几何变换(移动,旋转,镜像,转置,缩放) 彩色图像转灰度图,灰度图反色 图像中值滤波与平均滤波 bmp图像锐化 图像的半影调和抖动技术 bmp ...

  8. 数字图像处理——第十章 图像分割

    数字图像处理--第十章 图像分割 文章目录 数字图像处理--第十章 图像分割 写在前面 1 点.线和边缘检测 1.1 孤立点的检测 1.2 线检测 1.3 边缘检测 2 阈值处理 2.1 单一全局阈值 ...

  9. 数字图像处理——第九章 形态学图像处理

    数字图像处理--第9章 形态学图像处理 文章目录 数字图像处理--第9章 形态学图像处理 1 基础知识 1.1 形态学图像 1.2 二值图像 2 腐蚀和膨胀 2.1 腐蚀 2.2 膨胀 3 开操作与闭 ...

最新文章

  1. 实时记录运动轨迹插件_智慧工地:“全能安全帽”自带WiFi 可实时拍摄通话
  2. php开发入门,PHP开发入门教程之面向对象
  3. Kernel那些事儿之内存管理(2) --- 百闻不如一见
  4. String String.valueof() toString三者之间的区别~
  5. frontend-maven-plugin插件问题解决
  6. Flutter:视频全屏切换
  7. 《炬丰科技-半导体工艺》 砷化硼热管理
  8. 基于Java框架开发OA企业在线办公系统项目教程-附源码-毕业设计
  9. 『杭电1206』劲乐团
  10. 【115】StrokeIt相关操作
  11. java内存泄露 垃圾回收_Java中内存泄露及垃圾回收机制
  12. worldpress 添加网站关键词和描述
  13. 可达编程 [语言题]中国身份证号码校验
  14. 如何使用ABP开发一
  15. 程序员到底有没有必要买一台阿里云服务器?
  16. Android UnitTest
  17. 码元,码元速率,波特率,比特率,数据率的理解
  18. 红黑树(RBTree)原理及实现
  19. Polygon zkEVM——Hermez 2.0简介
  20. K210人脸识别+断电保存

热门文章

  1. 手把手带你玩转情人节网站推广
  2. DPDK Programmer’s Guide(3)环境抽象层(EAL)
  3. 近上亿人观看,李佳琦薇娅一夜带货破百亿,双十一预售直播再创记录!!
  4. jQuery(六)元素属性操作和jQuery循环
  5. 外贸企业邮箱—感恩节礼包双十一回购
  6. webview的使用套餐,androidstudiondk配置
  7. ssm 上传图片到mysql_ssm图片上传到数据库
  8. 计算机专业中专自我鉴定范文,计算机专业中专生自我鉴定
  9. 帮助台技术员协助的自助服务
  10. 塑胶模具费用计算与报价视频教程