关闭

数字图像处理(四) 彩色图像拼接

标签: 图像处理matlab彩色图像
3606人阅读 评论(2) 收藏 举报
分类:

   圣诞礼物大作战前奏:拼图

ps的话简单,所以才有人开发了ps。现在使用matlab拼图,我喜欢的人喜欢下列的图,所以直接拿来拼。


bg.jpg

small.jpg


现在,把猪嵌到图片中去。


彩色图像有RGB层,红,绿,蓝。所以到时嵌入需要两张图片的每一层对应后再叠加。


先裁剪麦兜图片。利用

a = imread('small.jpg');
g = roipoly(f);
imwrite(g,'mdb.jpg');
roipoly,多边形裁剪图片。裁剪完后mdb.jpg

这是二值图像,只有0和1,保存之后为uint8,8位无符号整数类型。


接下来拿到麦兜rgb层的裁剪图片,就是将原图的rgb层与mdb.jpg这个矩阵进行点乘运算后,因为黑色的地方为0,所以相乘后将会去除边界。

同时补全图片,因为要和bg.jpg这个大图片叠加。


    %补全图片剩余的其他空间  拿的是R层
    b = a(:,:,1);
    d = b.*uint8(g);
    f = [zeros(50,160);g];
    f = [f;zeros(430,160)];
    f = [f,zeros(600,320)];
    f = [zeros(600,320),f];



与大图片叠加之前,我们要将bg.jpg中准备嵌入的那块置零。不然原本的背景数据叠加上麦兜图片便会失真。


 s = imread('bg.jpg');
 s = s.*uint8(~logical(f));

因为保存之后为uint8,要将其转成logical类型,0和1,麦兜的图像为1,取反为零,s为uint8,再转成uint8类型,点乘后乘零的那部分就没有了。


接下来将两个rgb层的图像叠加。


全代码:


function y = md()
%读入插入图像和roipoly的图像
a = imread('small.jpg');
c = imread('mdb.jpg');
%roipoly提取的二值图像  保存之后又变成uint8类型 但是为了提取所需要的图像 需要进行二值图像的转换
c = logical(c);

%背景图片的读入
r = imread('bg.jpg');
for i= 1:3
    %rgb图层的提取
    b = a(:,:,i);
    d = b.*uint8(c);
    %补全图片剩余的其他空间
    f = [zeros(50,160);d];
    f = [f;zeros(430,160)];
    f = [f,zeros(600,320)];
    f = [zeros(600,320),f];
    
    
    s = r(:,:,i);
    s = s.*uint8(~logical(f));
    
    %将rgb三层分别叠加,得到彩色图像
    image(:,:,i) = s+f;
    pig(:,:,i) = f;
    figure;
    imshow(s+f);
    
end
 imshow(image);
 figure();
 imshow(pig);
 
 %合成图像的输出
 %imwrite(image,'final.jpg');
y =1;



还有其余两层,不贴了,最终大功告成。



阿狸看着天空,想:“麦兜,你怎么不用穿内裤的?”。

麦兜:“因为我不知道理想和真谛”。

3
0
查看评论

图像拼接的基本流程及关键技术

From: 遥感图像拼接研究 图像拼接的基本流程 (1) 图像预处理:对原始图像进行直方图匹配、平滑滤波、增强变换等数字图像 处理的基本操作,为图像拼接的下一步作好准备。 (2) 图像配准:图像配准是整个图像拼接流程的核心,配准的精度决定了图像的拼接质量。其基本思想是:首...
  • Vast_Sea
  • Vast_Sea
  • 2012-11-18 21:57
  • 6788

彩色数字图像处理基础

彩色数字图像处理的知识路线:       可见光——视网膜———— 颜色模型————图像属性描述              有了一定的图像知识,对图像进行处理的时候,大多数都进行了灰度化,慢慢的以...
  • qq_20823641
  • qq_20823641
  • 2016-04-14 21:19
  • 1319

冈萨雷斯数字图像处理——彩色图像增强3实例

基于直方图均衡化的彩色图像增强, 双边滤波(Bilateral Filtering) , 图像的模糊增强.
  • wp1603710463
  • wp1603710463
  • 2015-12-26 14:01
  • 2575

数字图像处理:3.伪彩色处理

NULL
  • ichangjian
  • ichangjian
  • 2013-07-30 18:19
  • 1123

图像拼接中的RANSAC算法

RANSAC(Random Sample Consensus)即随机采样一致性,对SIFT算法产生的128维特征描述符进行剔除误匹配点。        首先,从已求得的配准点对中抽取几对配准点,计算变换矩阵,并将这几对点记录为”内点”。继...
  • lxy201700
  • lxy201700
  • 2014-06-05 13:38
  • 2155

分享彩色图像拼接程序

我喜欢的智慧石资源:彩色图像拼接程序
  • ymkwjq
  • ymkwjq
  • 2015-12-05 10:59
  • 134

数字图像处理笔记01

图像及其数字处理01图像的表示 二维图像的成像过程​ 反射光或发射光线→\to成像系统 →\to 成像平面 →\to 输出图像 数字图像的基本要素像素(pixel):数字图像的基本单位 像素坐标系:对图像分布进行二位空间采样(左上角为原点) 像素值:对单个像素灰度值进行数字化采样 图像尺寸:一幅数字...
  • wjoker
  • wjoker
  • 2017-01-18 18:55
  • 256

【源代码】数字图像处理部分源码

  数字图像处理 代码下载   一个以BMP文件操作为基础的图像处理头文件,以...
  • jianxiong8814
  • jianxiong8814
  • 2007-04-23 17:50
  • 7000

python数字图像处理(4):图像数据类型及颜色空间转换

一、图像数据类型及转换 在skimage中,一张图片就是一个简单的numpy数组,数组的数据类型有很多种,相互之间也可以转换。这些数据类型及取值范围如下表所示: Data type Range uint8 0 to 255 ...
  • denny2015
  • denny2015
  • 2016-01-15 13:44
  • 1489

数字图像处理:第十八章 彩色图象处理

第十八章 彩色图象处理 目录 1.    引言 2.    彩色空间 3.    不同彩色空间之间的转换 4.    彩色图象的分割 作业 1.  引言 彩...
  • GarfieldEr007
  • GarfieldEr007
  • 2015-12-03 08:41
  • 648
    个人资料
    • 访问:1278636次
    • 积分:9992
    • 等级:
    • 排名:第2066名
    • 原创:132篇
    • 转载:7篇
    • 译文:9篇
    • 评论:521条
    博客专栏
    My GitHub