【数字图像处理】浮雕效果和倒影效果
Ø 【作业要求】
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
【数字图像处理】浮雕效果和倒影效果相关推荐
- 结合实例与代码谈数字图像处理都研究什么?
图像处理(以及机器视觉)在学校里是一个很大的研究方向,很多研究生.博士生都在导师的带领下从事着这方面的研究.另外,就工作而言,也确实有很多这方面的岗位和机会虚位以待.而且这种情势也越来越凸显.那么图像 ...
- 数字图像处理大作业实验报告
<数字图像处理> 期末大作业 班 级:数字媒体技术2020级1班 姓 名:快乐的小蓝 学 号:XXXXXXXXX XXXX大学信息学院 目录 一.任务描述 二.设 ...
- 数字图像处理、拼接,图像静态滤镜(GPUImage/GPU加速) - Android
图像滤镜处理的两种方式:RGB点乘运算:GPU的矩阵运算(效率更高).图片处理中的计算:RGBA~利用自带的方法修改色调,饱和度,亮度来修改图片:矩阵~利用矩阵计算得到新的矩阵修改图片. 几个图像像素 ...
- 077_《Delphi数字图像处理及高级应用》
<Delphi数字图像处理及高级应用> Delphi 教程 系列书籍 (077) <Delphi数字图像处理及高级应用> 网友(邦)整理 EMail: shuaihj@163. ...
- matlab课程数字图像处理设计题目,数字图像处理课程设计题目和要求_2013
数字图像处理课程设计内容.要求 题目一:图像处理软件 1.设计内容及要求: (1).独立设计方案,实现对图像的十五种以上处理(比如:底片化效果.灰度增强.图像复原.浮雕效果.木刻效果等等). (2). ...
- 数字图像处理:边缘检测(Edge detection)
转载自:https://zhuanlan.zhihu.com/p/59640437 觉得写得通俗易懂,要是每个人的博客都这么人性化.... 写在前面: 本文篇幅较长,用了大量图与公式帮助大家深入理解各 ...
- C语言数字图像处理编程
C语言数字图像处理 读取bmp图像并做简单显示 bmp图像几何变换(移动,旋转,镜像,转置,缩放) 彩色图像转灰度图,灰度图反色 图像中值滤波与平均滤波 bmp图像锐化 图像的半影调和抖动技术 bmp ...
- 数字图像处理——第十章 图像分割
数字图像处理--第十章 图像分割 文章目录 数字图像处理--第十章 图像分割 写在前面 1 点.线和边缘检测 1.1 孤立点的检测 1.2 线检测 1.3 边缘检测 2 阈值处理 2.1 单一全局阈值 ...
- 数字图像处理——第九章 形态学图像处理
数字图像处理--第9章 形态学图像处理 文章目录 数字图像处理--第9章 形态学图像处理 1 基础知识 1.1 形态学图像 1.2 二值图像 2 腐蚀和膨胀 2.1 腐蚀 2.2 膨胀 3 开操作与闭 ...
最新文章
- 实时记录运动轨迹插件_智慧工地:“全能安全帽”自带WiFi 可实时拍摄通话
- php开发入门,PHP开发入门教程之面向对象
- Kernel那些事儿之内存管理(2) --- 百闻不如一见
- String String.valueof() toString三者之间的区别~
- frontend-maven-plugin插件问题解决
- Flutter:视频全屏切换
- 《炬丰科技-半导体工艺》 砷化硼热管理
- 基于Java框架开发OA企业在线办公系统项目教程-附源码-毕业设计
- 『杭电1206』劲乐团
- 【115】StrokeIt相关操作
- java内存泄露 垃圾回收_Java中内存泄露及垃圾回收机制
- worldpress 添加网站关键词和描述
- 可达编程 [语言题]中国身份证号码校验
- 如何使用ABP开发一
- 程序员到底有没有必要买一台阿里云服务器?
- Android UnitTest
- 码元,码元速率,波特率,比特率,数据率的理解
- 红黑树(RBTree)原理及实现
- Polygon zkEVM——Hermez 2.0简介
- K210人脸识别+断电保存