数字水印在彩色图像的空间域方法

数字水印在彩色图像的空间域方法
数字水印在彩色图像的空间域方法

辽宁大学学报

自然科学版

第33卷 第2期 2006年

JOURNAL OF LIAONING UNIV ERSITY

Natural Sciences Edition

V ol.33 N o.2 2006

数字水印在彩色图像的空间域方法

范铁生1,Ξ陆云山1,高宏宇1,李丽君1,孟 瑶1,张春明2

(1.辽宁大学信息科学与技术学院,辽宁沈阳110036;2.东北大学资源与勘探学院,辽宁沈阳110004)

摘 要:提出了数字水印在彩色图像中的空间域方法.在灰度图像中的数字水印中,空间域方法只能用在LS B(最低有效位)的局限性,同时,实验表明对常规攻击具有较好的识别能力.

关键词:数字水印;彩色图像;空间域方法;常规攻击.

中图分类号:TP391 文献标识码:A 文章编号:100025846(2006)022*******

随着多媒体技术和网络技术的飞速发展和广泛应用,对图像、音频、视频等多媒体内容的保护成为迫切需要的问题.由于数字作品的拷贝、修改非常容易,而且可以做到与原作完全相同,这给多媒体知识产权保护造成了困难.

对多媒体内容的保护无法采用传统的加密方法而主要采用数字水印技术.因为传统的加密方法对内容的保护只局限在加密通信的信道中或其他加密状态下,一旦解密,则毫无保护可言;而且密码学中的认证方法不容许一个比特的改变,但多媒体内容的真实性认证因人眼Π耳所特有的掩蔽效应而往往可容许一定程度的失真;同时,与密码学中的认证方法不同的是数字水印技术仅需要将数字水印直接嵌入多媒体内容中即可,无需另外保存认证信息(密钥等).而且数字水印的不可见性和抗攻击性对多媒体内容的保护也优于其他方法.

因此,数字水印技术在近年来得到了广泛的研究.目前,数字水印主要集中在灰度图像及其变换域方法,而对彩色图像以及空间域的方法的讨论较少.一般而言,其原因在于灰度图像以及变换域方法既能满足不可见性,又具有较强的抗攻击性,而彩色图像以及空间域在数字水印的不可见性和抗攻击性之间似乎无法同时兼顾,而我们通常使用的绝大部分都是彩色图像的环境,如何在彩色图像中解决上述问题成为一个主要的任务.

对此,经过我们的深入研究,提出了二者同时满足的条件,从而为彩色图像以及空间域方法的数字水印提供了一种新方法.

1 数字水印在彩色图像的空间域方法

为便于问题的讨论,我们限定在这样的条件下,即理想的水印机制应具有较高的鲁棒性,完全能抗击在正常使用(normal use,或者说是uninten2 tional attack)下对嵌入水印的图像所引起的畸变.这种非有意攻击包括,在正常使用时对嵌入水印的图像进行拷贝、缩放、裁剪以及常用的J PEG压缩[1].

相对于变换域方法(如DCT、DWT),空间域方法无需各种变换所需的复杂运算,具有简洁快速、无需原始水印图像的盲水印,抗几何攻击等优点[2].但在通常的灰度图像中,空间域方法只能在LS B(最低有效位,一般取<23bit位)嵌入相应的数字水印,否则人眼就会明显辨认出所嵌入的数字水印,从而无法满足数字水印所要求的不可见特性.将水印嵌入在不同bit位的效果,如图1所示.

Ξ作者简介:范铁生(19552),男,辽宁沈阳人,辽宁大学副教授,从事多媒体技术研究. 收稿日期:2005209210

图1 水印嵌入在灰度图像中不同bit位的效果

但是,我们知道,在LS B所嵌入的水印,虽然满足了隐蔽性但抗攻击性相当差,若要提高鲁棒性,就需要将水印嵌入到高bit位中,例如,嵌入到7bit位中.显然,如图1的最后一幅所示,在灰度图像中,是无法实现在高bit位中嵌入水印图像而又不可见的.

由于所嵌入的水印都是二值图,从色调上接近于蓝色.而根据人眼的视觉特性,对彩色RG B 图像中的三色相比,蓝色B是最不敏感的.如交通信号灯的设计就不用RG B,而是用RGY,除了蓝色的波长较短,产生辐射的距离短,与天空的色彩接近之外,就是在RG B的三色中,人眼对蓝色相对不很敏感所致.因此,可以在B分量中嵌入高bit位的数字水印,即可解决在数字水印空间域方法的不可见性和抗攻击性之间相互平衡的问题.

在7bit位嵌入的数字水印在不同分量的对比实验,可以通过图2和图3表示.

图2 在明暗度较低的图像中嵌入水印于

不同分量的效果

图2和图3的实验表明,将不同的水印图像(watermark),在具有不同明暗度的载体图像(cover object)分别嵌入在不同分量中最高的7bit位置上所显示的效果中,其最后一幅的水印最不清晰,同时失真最小.这说明,我们可以在彩色图像中适当降低所嵌入的bit位,直到根据人眼的视觉特性使水印分辨不出来,就可以达到提高其抗攻击性的

目的.

图3 在明暗度较高的图像中嵌入水印于

不同分量的效果

为此,文献中已有人提出了相关的方案[3],如K utter等人提出的解决方案就是采用对待检测的数据位进行预测的方法,按伪随机选择坐标的位置再修改B的亮度值,由于嵌入的水印数据较少,此方法对水印恢复的正确性得不到保证[2].

理想的水印机理应在对载体图像没有任何明显退化的前提下,嵌入尽可能多的水印数据[1].因此,我们提出的方法是将水印图像扩成与载体图像同样大小,但由此产生了隐蔽性差的结果,如图2和图3所示.为减少对不可见性的影响,应选择适当的bit位.若设适当的bit位为w

b

,b=3,4,5, 6,7,表示相应的bit位,因小于3bit位的无法保证

抗干扰性而省略.若载体像素值为c

ij

,水印图像

的值为w

ij

,水印像素值为s,根据w b按下述公式

逐点检查c

ij

与w

ij

间的大小,再修改载体图像的B 的亮度值:s=

1,if c ij=w ij

0,if c ijw ij

(1)

这样可以对载体图像的每点进行修改,但又使其值的变化在原值附近,以减少图像的质量退化.经过实验,在5bit位嵌入的水印可以满足上述的要求,既按照人眼的视觉特性而不可见.当然,

331

第2期 范铁生,等:数字水印在彩色图像的空间域方法

在5bit 位以下嵌入的水印的抗干扰性则相对差

些.实验结果分别如图4和图5所示

.

图4 在连续施加各种干扰的条件下所提取的水印效果

从图4中可以看出,将水印图像嵌入到载体

图像中的蓝色分量后,经压缩率为60%的J PEG (参数为’Quality ’,60)后,再施加2%的椒盐噪声并用鼠标进行任意裁剪,所提取的水印图像仍然比较明晰

.

图5 在明暗度较高的图像中加不同处理后所提取的水印效果

从图5中可以看出,将水印图像嵌入到载体图像中的蓝色分量后,未经压缩但把原图缩放成正方形后,仍施加2%的椒盐噪声并用鼠标进行

任意裁剪,所提取的水印图像较图4效果更好.这说明J PEG 压缩的同时再加噪声干扰会使所提取的水印质量变差,但仍能正确识别.图5表明在单独施加一种干扰的情况下,对水印提取的影响较小.而从图4、图5中可以看出,空间域方法对旋转、缩放和剪切等几何攻击具有良好的鲁棒性,而且此方法对明暗度不同载体图像不敏感,显然,若水印图像不同仍无其他影响,因为所施加的水印图像均为二值图,不再赘述.

2 结 语

通过实验证明,本文所提出彩色图像的空间

域数字水印方法,较好地解决了空间域方法在不可见性和抗攻击性之间似乎无法同时兼顾的问题,又具有简洁快速、盲水印,抗几何攻击等优点,较适合于常规攻击条件下的数字水印.因为此法对密集度较高的高斯噪声就比较敏感,这是需要进一步研究的课题.参考文献:

[1] Chris Shoemaker .Hidden Bits :A Survey of T echniques

for Digital Watermarking[J ].EER -290S pring ,2002:2-6.

[2] 王炳锡,陈 琦.数字水印技术[M].西安:西安电

子科技大学出版社,2002.

[3] K utter M ,Jordan F ,Bossen F.Digital signature of color im 2

ages using am plitude m odulation[A].Proceeding of SPIE ,storage and retrieval for image and video databases [C ].1997,3022:518-526.

A Method of Digital W atermark of Space Domain in Color Image

FAN T ie 2sheng 1

,LU Y un 2shan 1

,W ANG T ao 1

,LI Li 2jun 1

,ME NG Y ao 1

,ZH ANG Chun 2ming

2

(1.Institute o f Information Science and Technology ,Liaoning Univer sity ,Shenyang 110036;

2.Institute o f Resource and Mining Conseruction ,Northeast Univer sity )

Abstract : In this paper ,we presented the methed of digital watermark of space domain in color image.The limit

that space domain only be applied in LS B under gray image of digital watermark was changed.Then ,experiment showed that the method have a better adaptability to normal attack.

K ey words : Digital watermark ,C olor image ,S pace domain ,N ormal attack.

(责任编辑 郑绥乾)

431辽宁大学学报

自然科学版 2006年

空间域滤波器(实验报告)

数字图像处理作业 ——空间域滤波器 摘要 在图像处理的过程中,消除图像的噪声干扰是一个非常重要的问题。本文利用matlab软件,采用空域滤波的方式,对图像进行平滑和锐化处理。平滑空间滤波器用于模糊处理和减小噪声,经常在图像的预处理中使用;锐化空间滤波器主要用于突出图像中的细节或者增强被模糊了的细节。本文使用的平滑滤波器有中值滤波器和高斯低通滤波器,其中,中值滤波器对去除椒盐噪声特别有效,高斯低通滤波器对去除高斯噪声效果比较好。使用的锐化滤波器有反锐化掩膜滤波、Sobel边缘检测、Laplacian边缘检测以及Canny算子边缘检测滤波器。不同的滤波方式,在特定的图像处理应用中有着不同的效果和各自的优势。

1、分别用高斯滤波器和中值滤波器去平滑测试图像test1和2,模板大小分别 是3x3 , 5x5 ,7x7;利用固定方差 sigma=1.5产生高斯滤波器. 附件有产生高斯滤波器的方法。 实验原理分析: 空域滤波是直接对图像的数据做空间变换达到滤波的目的。它是一种邻域运算,其机理就是在待处理的图像中逐点地移动模板,滤波器在该点地响应通过事先定义的滤波器系数与滤波模板扫过区域的相应像素值的关系来计算。如果输出像素是输入像素邻域像素的线性组合则称为线性滤波(例如最常见的均值滤波和高斯滤波),否则为非线性滤波(中值滤波、边缘保持滤波等)。 空域滤波器从处理效果上可以平滑空间滤波器和锐化空间滤波器:平滑空间滤波器用于模糊处理和减小噪声,经常在图像的预处理中使用;锐化空间滤波器主要用于突出图像中的细节或者增强被模糊了的细节。 模板在源图像中移动的过程中,当模板的一条边与图像轮廓重合后,模板中心继续向图像边缘靠近,那么模板的某一行或列就会处于图像平面之外,此时最简单的方法就是将模板中心点的移动范围限制在距离图像边缘不小于(n-1)/2个像素处,单处理后的图像比原始图像稍小。如果要处理整幅图像,可以在图像轮廓边缘时用全部包含于图像中的模板部分来滤波所有图像,或者在图像边缘以外再补上一行和一列灰度为零的像素点(或者将边缘复制补在图像之外)。 ①中值滤波器的设计: 中值滤波器是一种非线性统计滤波器,它的响应基于图像滤波器包围的图像区域中像素的排序,然后由统计排序的中间值代替中心像素的值。它比小尺寸的线性平滑滤波器的模糊程度明显要低,对处理脉冲噪声(椒盐噪声)非常有效。中值滤波器的主要功能是使拥有不同灰度的点看起来更接近于它的邻近值,去除那些相对于其邻域像素更亮或更暗,并且其区域小于滤波器区域一半的孤立像素集。 在一维的情况下,中值滤波器是一个含有奇数个像素的窗口。在处理之后,位于窗口正中的像素的灰度值,用窗口内各像素灰度值的中值代替。例如若窗口长度为5,窗口中像素的灰度值为80、90、200、110、120,则中值为110,因为按小到大(或大到小)排序后,第三位的值是110。于是原理的窗口正中的灰度值200就由110取代。如果200是一个噪声的尖峰,则将被滤除。然而,如果它是一个信号,则滤波后就被消除,降低了分辨率。因此中值滤波在某些情况下抑制噪声,而在另一些情况下却会抑制信号。 将中值滤波推广到二维的情况。二维窗口的形式可以是正方形、近似圆形的或十字形等。本次作业使用正方形模板进行滤波,它的中心一般位于被处理点上。窗口的大小对滤波效果影响较大。 根据上述算法利用MATLAB软件编程,对源图像test1和test2进行滤波处理,结果如下图:

matlab 图像的几何变换与彩色处理

实验四、图像的几何变换与彩色处理 一、实验目的 1理解和掌握图像的平移、垂直镜像变换、水平镜像变换、缩放和旋转的原理和应用; 2熟悉图像几何变换的MATLAB操作和基本功能 3 掌握彩色图像处理的基本技术 二、实验步骤 1 启动MATLAB程序,读入图像并对图像文件分别进行平移、垂直镜像变换、水平镜像变换、缩放和旋转操作 %%%%%%平移 >> flowerImg=imread('flower.jpg'); >> se=translate(strel(1),[100 100]); >> img2=imdilate(flowerImg,se); >> subplot(1,2,1); >> imshow(flowerImg); >> subplot(1,2,2); >> imshow(img2);

I1=imread('flower.jpg'); I1=double(I1); H=size(I1); I2(1:H(1),1:H(2),1:H(3))=I1(H(1):-1:1,1:H(2),1:H(3)); I3(1:H(1),1:H(2),1:H(3))=I1(1:H(1),H(2):-1:1,1:H(3)); Subplot(2,2,1); Imshow(uint8(I1)); Title('原图'); Subplot(2,2,2); Imshow(uint8(I3)); Title('水平镜像'); Subplot(2,2,3); Imshow(uint8(I2)); Title('垂直镜像'); img1=imread('flower.jpg'); figure,imshow(img1); %%%%%%缩放 img2=imresize(img1,0.25); figure,imshow(img2); imwrite(img2,'a2.jpg');

数字图像处理实验报告(空间域图像增强)

实验报告 实验名称空间域图像增强课程名称数字图像处理 姓名成绩 班级学号 日期地点

1.实验目的 (1)了解空间域图像增强的各种方法(点处理、掩模处理); (2)通过编写程序掌握采用直方图均衡化进行图像增强的方法; (3)使用邻域平均法编写程序实现图像增强,进一步掌握掩模法及其改进(加门限法)消除噪声的原理; (4)总结实验过程(实验报告,左侧装订):方案、编程、调试、结果、分析、结论。 2.实验环境(软件、硬件及条件) Windws7 MATLAB 6.x or above 3.实验方法 对如图4.1所示的两幅128×128、256级灰度的数字图像fing_128.img和cell_128.img 进行如下处理: (1)对原图像进行直方图均衡化处理,同屏显示处理前后图像及其直方图,比较异同, 并回答为什么数字图像均衡化后其直方图并非完全均匀分布。 (2)对原图像加入点噪声,用4-邻域平均法平滑加噪声图像(图像四周边界不处理,下同),同屏显示原图像、加噪声图像和处理后的图像。 ①不加门限; ②加门限T=(1/2)*avg(f(m,n)), 其中avg(f(m,n)=(1/N^2)*f(i,j)) 本次实验中的第一题,是对图像进行直方图统计和均衡化,在Matlab中有imhist()函数和histeq()函数直接调即可获得相应结果,代码如下: close all; clear all; fid=fopen('cell_128.img','r'); image1=fread(fid,[128,128],'uint8'); image1=uint8(image1); fclose(fid); subplot(2,2,1); %显示原图像 imshow(image1,[]); title('原图像'); subplot(2,2,2); %统计图像直方图 imhist(image1); title('原图像直方图');

基于Matlab的彩色图像分割

用Matlab来分割彩色图像的过程如下: 1)获取图像的RGB颜色信息。通过与用户的交互操作来提示用户输入待处理的彩色图像文件路径; 2)RGB彩色空间到lab彩色空间的转换。通过函数makecform()和applycform()来实现; 3)对ab分量进行Kmean聚类。调用函数kmeans()来实现; 4)显示分割后的各个区域。用三副图像分别来显示各个分割目标,背景用黑色表示。Matlab程序源码 %文件读取 clear; clc; file_name = input('请输入图像文件路径:','s'); I_rgb = imread(file_name); %读取文件数据 figure(); imshow(I_rgb); %显示原图 title('原始图像'); %将彩色图像从RGB转化到lab彩色空间 C = makecform('srgb2lab'); %设置转换格式 I_lab = applycform(I_rgb, C); %进行K-mean聚类将图像分割成3个区域 ab = double(I_lab(:,:,2:3)); %取出lab空间的a分量和b分量 nrows = size(ab,1); ncols = size(ab,2); ab = reshape(ab,nrows*ncols,2); nColors = 3; %分割的区域个数为3 [cluster_idx cluster_center] = kmeans(ab,nColors,'distance','sqEuclidean','Replicates',3); %重复聚类3次 pixel_labels = reshape(cluster_idx,nrows,ncols); figure(); imshow(pixel_labels,[]), title('聚类结果'); %显示分割后的各个区域 segmented_images = cell(1,3); rgb_label = repmat(pixel_labels,[1 1 3]); for k = 1:nColors color = I_rgb; color(rgb_label ~= k) = 0; segmented_images{k} = color;

Matlab图像颜色空间转换

Matlab图像颜色空间转换 实验内容 用matlab软件编程实现下述任务: 读入彩色图像,提取其中得R、G、B颜色分量,并展示出来。 我们学习了多种表示图像得颜色空间,请编写程序将图像转换到YUV、YIQ、YCrCb、HIS、CMY等颜色空间,并展示出来。 颜色空间得转化关系参考以下公式: 原始图片 三个色调分量 YUV与RGB之间得转换 Y=0、229R+0、587G+0、114B U=-0、147R-0、289G+0、436B V=0、615R-0、515G-0、100B

YIQ与RGB之间得转换 Y=0、299R+0、587G+0、114B I=0、596R-0、275G-0、321B Q=0、212R-0、523G+0、311B YCrCb与RGB之间得转换 Y = 0、2990R + 0、5870G + 0、1140B? Cr = 0、5000R 0、4187G 0、0813B + 128 Cb = 0、1687R 0、3313G + 0、5000B + 128

HSI与RGB之间得转换 I=(R+G+B)/3 H=arccos{ 0、5*((RG)+(RB)) / ((RG)^2 + (RB)(GB))^0、5} S=1[min(R,G,B)/ I ] CMY与RGB之间得转换

心得体会 查阅了很多资料,并且学习了关于matlab实现图像颜色空间转换得过程。不同得颜色空间在描述图像得颜色时侧重点不同。如RGB(红、绿、蓝三原色)颜色空间适用于彩色监视器与彩色摄像机,HSI(色调、饱与度、亮度)更符合人描述与解释颜色得方式(或称为HSV,色调、饱与度、亮度),CMY(青、深红、黄)、CMYK(青、深红、黄、黑。)主要针对彩色打印机、复印机等,YIQ(亮度、色差、色差)就是用于NTSC规定得电视系统格式,YUV(亮度、色差、色差)就是用于PAL规定得电视系统格式,YCbCr(亮度单一要素、蓝色与参考值得差值、红色与参考值得差值)在数字影像中广泛应用。近年来出现了另一种颜色空间lαβ,由于其把亮度与颜色信息最大限度得分离,在该颜色空间可以分别处理亮度或颜色而不相互影响。 通过这次实验,实现了五种颜色空间得转换,瞧到了不同得绚丽结果,掌握了一些基本得知识。 程序 clear rgb=imread('G:\Learning\MultiMedia\666、jpg'); rgb2hsi(rgb); rgb_r=rgb(:,:,1);

空间域和频率域结合的图像增强技术及实现(1)

南京理工大学紫金学院毕业设计(论文)开题报告 学生姓名:杨程学号:090402159 专业:光电信息工程 设计(论文)题目:空间域和频率域结合的图像增强技术 及实现 指导教师:曹芳 2012年12月20日

开题报告填写要求 1.开题报告(含“文献综述”)作为毕业设计(论文)答辩委员会对学生答辩资格审查的依据材料之一。此报告应在指导教师指导下,由学生在毕业设计(论文)工作前期内完成,经指导教师签署意见及所在专业审查后生效; 2.开题报告内容必须用黑墨水笔工整书写或按教务处统一设计的电子文档标准格式(可从教务处网页上下载)打印,禁止打印在其它纸上后剪贴,完成后应及时交给指导教师签署意见; 3.“文献综述”应按论文的格式成文,并直接书写(或打印)在本开题报告第一栏目内,学生写文献综述的参考文献应不少于15篇(不包括辞典、手册); 4.有关年月日等日期的填写,应当按照国标GB/T 7408—2005《数据元和交换格式、信息交换、日期和时间表示法》规定的要求,一律用阿拉伯数字书写。如“2007年3月15日”或“2007-03-15”。

毕业设计(论文)开题报告 1.结合毕业设计(论文)课题情况,根据所查阅的文献资料,每人撰写2000字左右的文献综述: 文献综述 空域法与时域法相结合的图像增强 一、研究的目的和意义 图像增强是指根据特定的需要突出图像中的重要信息,同时减弱或去除不需要的信息。从不同的途径获取的图像,通过进行适当的增强处理,可以将原本模糊不清甚至根本无法分辨的原始图像处理成清晰的富含大量有用信息的可使用图像,有效地去除图像中的噪声、增强图像中的边缘或其他感兴趣的区域,从而更加容易对图像中感兴趣的目标进行检测和测量。它一般要借助人眼的视觉特性,以取得看起来较好地视觉效果,其手段主要可分为空域法和时域法[1]。 二、图像增强的发展现状 图像增强的早期应用是对宇宙飞船发回的图像所进行的各种处理。到了70 年代,图像处理技术的应用迅速从宇航领域扩展到生物医学、信息科学、资源环境科学、天文学、物理学、工业、农业、国防、教育、艺术等各个领域与行业,对经济、军事、文化及人们的日常生活产生重大的影响[2]。 三、空间域和频率域图像增强处理基本原理及优缺点比较: 图像增强可分成两大类:频率域法和空间域法。前者把图像看成一种二维信号,对其进行基于二维傅里叶变换的信号增强。采用低通滤波(即只让低频信号通过)法,可去掉图中的噪声;采用高通滤波法,则可增强边缘等高频信号,使得模糊的图片变得清晰[3]。后者是直接对原图象的灰度级别进行数据运算,它分为两类,一类是与象素点邻域有关的局部运算,如平滑,中值滤波,锐化等;另一类是对图象做逐点运算,称为点运算如灰度对比度扩展,削波,灰度窗口变换,直方图均衡化等[4]。 下面将讨论两种作用域增强算法的技术要点,并对其图像增强方法进行性能评价。 3.1 空间域图像增强的方法 空间域处理是直接对原图像的灰度级别进行数据运算,具体可分为以下几类: 1.灰度变换[5] 当图像成像时曝光不足或过度,图像记录设备的范围太窄等因素,都会产生对比不

实验三 图像的空间域滤波

1 A=imread('E:\pic\1.jpg'); I=rgb2gray(A); subplot(1,3,1); imshow(I);title('原图'); J=imnoise(I,'salt & pepper',0.05); subplot(1,3,2); imshow(J); title('加入椒盐噪声图象'); K=imnoise(I,'gaussian',0.01,0.02); subplot(1,3,3); imshow(K);title('加入高斯噪声图象'); 2 A=imread('E:\pic\1.jpg'); I=rgb2gray(A); Subplot(2,2,1); Imshow(I);title('原图'); H=fspecial('motion',20,45); MotionBlur=imfilter(I,H,'replicate'); Subplot(2,2,2); Imshow(MotionBlur);title('MotionBlur image'); H=fspecial('disk',10); blurred=imfilter(I,H,'replicate'); Subplot(2,2,3); Imshow(blurred);title('Blurred image'); H=fspecial('unsharp',0.5); Sharpened=imfilter(I,H,'replicate'); Subplot(2,2,4); Imshow(Sharpened);title('sharpened image');

3 A=imread('E:\pic\1.jpg'); I=rgb2gray(A); J=imnoise(I,'salt & pepper',0.05); Subplot(2,2,1);imshow(J);title('加入椒盐噪声图象'); H=fspecial('motion',20,45); MotionBlur=imfilter(J,H,'replicate'); Subplot(2,2,2); Imshow(MotionBlur);title('replicate'); MotionBlur=imfilter(J,H,'symmetric'); Subplot(2,2,3); Imshow(MotionBlur);title('symmetric'); MotionBlur=imfilter(J,H,'circular'); Subplot(2,2,4); Imshow(MotionBlur);title('circular');

基于Matlab的彩色图像分割

3 Matlab编程实现 3.1 Matlab编程过程 用Matlab来分割彩色图像的过程如下: 1)获取图像的RGB颜色信息。通过与用户的交互操作来提示用户输入待处理的彩色图像文件路径; 2)RGB彩色空间到lab彩色空间的转换。通过函数makecform()和applycform()来实现; 3)对ab分量进行Kmean聚类。调用函数kmeans()来实现; 4)显示分割后的各个区域。用三副图像分别来显示各个分割目标,背景用黑色表示。3.2 Matlab程序源码 %文件读取 clear; clc; file_name = input('请输入图像文件路径:','s'); I_rgb = imread(file_name); %读取文件数据 figure(); imshow(I_rgb); %显示原图 title('原始图像'); %将彩色图像从RGB转化到lab彩色空间 C = makecform('srgb2lab'); %设置转换格式 I_lab = applycform(I_rgb, C); %进行K-mean聚类将图像分割成3个区域 ab = double(I_lab(:,:,2:3)); %取出lab空间的a分量和b分量 nrows = size(ab,1); ncols = size(ab,2); ab = reshape(ab,nrows*ncols,2); nColors = 3; %分割的区域个数为3 [cluster_idx cluster_center] = kmeans(ab,nColors,'distance','sqEuclidean','Replicates',3); %重复聚类3次 pixel_labels = reshape(cluster_idx,nrows,ncols); figure(); imshow(pixel_labels,[]), title('聚类结果'); %显示分割后的各个区域 segmented_images = cell(1,3); rgb_label = repmat(pixel_labels,[1 1 3]); for k = 1:nColors

VC编程实现灰度图像与彩色图像的相互转换要点

VC编程实现灰度图像与彩色图像的相互转换 PhotoShop的图像处理功能很强,其中有一个功能是将灰度图像转换为彩色图像,数字图像处理中,也经常要遇到灰度图像与彩色图像相互转换的问题,如何自己解决这个问题,值得大家探讨,现将我解决这类问题的方法陈述如下: 工程应用中经常要遇到需要把彩色图像到灰度图像的变换的问题,采集卡过来的图像为彩色图像,为加快处理速度,要把彩色图像转换为黑白图象,这个问题比较好解决,一般情况下彩色图像每个像素用三个字节表示,每个字节对应着R、G、B分量的亮度(红、绿、蓝),转换后的黑白图像的一个像素用一个字节表示该点的灰度值,它的值在0~255之间,数值越大,该点越白,既越亮,越小则越黑。转换公式为Gray(i,j)=0.11*R(i,j)+0.59*G(i,j)+0.3*B(i,j),其中Gray(i,j)为转换后的黑白图像在(i,j)点处的灰度值,我们可以观察该式,其中绿色所占的比重最大,所以转换时可以直接使用G值作为转换后的灰度。 至于灰度图像转换为彩色图像,技术上称为灰度图像的伪彩色处理,这是一种视觉效果明显而技术又不是很复杂的图像增强技术。灰度图像中,如果相邻像素点的灰度相差不大,但包含了丰富的信息的话,人眼则无法从图像中提取相应的信息,因为人眼分辨灰度的能力很差,一般只有几十个数量级,但是人眼对彩色信号的分辨率却很强,这样将黑白图像转换为彩色图像人眼可以提取更多的信息量。在转换过程中,经常采用的技术是灰度级-彩色变换,意思就是对黑白图像上的每一个像素点,取得该点的灰度值并送入三个通道经过实施不同的变换,产生相应的R、G、B的亮度值,即所求彩色图像对应像素点的彩色值,具体变换公式很多,我采用的是最常用的一种,变换曲线图如下: 上图中,三个图分别代表了三个变换通道,R、G、B指的是变换后对应点的R、G、B分量值,L指的是各个分量的最大值为255,G(x,y)为相应点的灰度值。理论上就这些,下面是我用VC实现的源代码,图一为我的灰度位图,图二为伪彩色处理后的结果图。我这个实现函数中是如何得到灰度位图的数据的就不多讲了,有兴趣的朋友可参考我在天极网上九月十号发表的《VC灰度位图处理》一文,那里应该讲的很

空间域图像滤波

function Template=gausTemplate(n,sigma) end ---------------------------------------------------------------------------------------------------------------------- clc clear im=imread('C:\Users\Administrator\Desktop\lena.jpg'); s=11;sigma=10; k=(s-1)/2; Template=gausTemplate(s,sigma);%生成高斯模板 [m,n]=size(im); %图像扩边 %%%%%%%%%%%%%%%%%% for i=k+1:m+k for j=k+1:n+k neighbor=;%%%%点i,j的邻阈 temp=;%%邻域内点乘 imF(i,j)=;%计算滤波器响应 end end imFil=imF(k+1:m+k,k+1:n+k);%滤波后的图像 imFil=uint8(imFil); imshow(imFil) clc clear im=imread('C:\Users\Administrator\Desktop\lena.jpg'); s=3;sigma=0.8; k=(s-1)/2; Template=gausTemplate(s,sigma);%éú3é???1?£°? [m,n]=size(im); %í???à?±? new=zeros(m+2*k,n+2*k);

new(k+1:m+k,k+1:n+k)=im; %%%%%%%%%%%%%%%%%% for i=k+1:m+k for j=k+1:n+k neighbor=new(i-k:i+k,j-k:j+k) ;%%%%μ?i,jμ?áú?Dtemp=neighbor.*Template ;%%áúóò?úμ?3? imF(i,j)=sum(temp(:)) ;%??????2¨?÷?ìó| end end imFil=imF(k+1:m+k,k+1:n+k);%??2¨oóμ?í??? imFil=uint8(imFil); imshow(imFil);

彩色图像分割介绍

第一章绪论 计算机图像处理在医学领域的应用越来越广泛,白细胞图像的自动判断就是其中的代表之一。它能有效地减少主观干扰,提高工作效率,减轻医生负担。近些年来,计算机硬件技术和光谱成像技术的飞速发展,使得成功研制开发出小型实用的基于多光谱的白细胞图像自动分类识别系统成为可能。 本文研究的主要目的在于对白细胞多光谱图像分割进行初步的探索研究,为系统中其后的白细胞能够准确地分类识别奠定基础。 本章简要阐述了基于多光谱的白细胞图像分割的应用背景和研究意义,回顾了国内外细胞图像分割和多光谱遥感图像分类的研究发展状况,并简要介绍了本论文的主要工作。 §1.1 概述 §1.1.1 白细胞检验 白细胞的光学显微镜检查是医院临床检验项目之一,特别是对各种血液病的诊断占有极其重要的地位。它的任务是观察或测定血液中的各种白细胞的总数、相对比值、形态等,用于判断有无疾病、疾病种类以及严重程度等,特别是对类似白血病这类血液病诊断具有更加重要的意义。 白细胞分类计数的传统方法是将血液制成涂片,染色后,临床医生在显微镜下用肉眼按照有关标准,如核的形状、细胞浆的量和颜色,细胞浆颗粒的大小和颜色,整个细胞形状、稀薄与细胞间的接触等,来观察和检查这样的细胞标本[1]。然而这项工作十分繁重,工作效率低,容易误判,且人工识别误差随检查人员而异。同时通过观察的细胞数目较少,从统计的角度看,因样本集较小而影响诊断结果的可靠性。 计算机图像处理与分析技术伴随着信息技术的不断进步在最近20年间得到了飞速的发展,已经迅速渗透到人类生活和社会发展的各个方面,这为智能化细胞分析仪代替人工方法提供了基础。因此,借助于现代计算机技术结合临床医生的实践经验,采用图像处理技术对图像进行处理,从而对细胞进行识别,对于医学科研与实践,以及临床诊断方面有着现实意义和非常广阔的前景。 目前已经制成的自动白细胞分析仪主要有两种类型: 一类是用组织化学染色法,通过连续流动的系统,以光电效应的方式分别数出单一细胞,并可同时报告白细胞总数、各类细胞的百分率和绝对值。因为该法不是由细胞形态学特点识别各类白细胞,所以不能目视观察白细胞形态,亦不能保留样本,对感染中毒细胞无法识别。 另一类是原型认定型,其工作原理模仿人“脑眼系统”[2]的智能识别过程,运用计算机图像处理和模式识别技术,将从显微镜与相机或摄像机得到的数字化图像进行自动处理分析和分类。与前一种类型的白细胞分类仪器相比,其主要优

彩色图像分割的国内外研究现状

1.阈值分割方法 阈值分割方法的历史可追溯到近40年前,现已提出了大量算法,对灰度图像的取阈值分割就是先确定一个处于图像灰度取值范闱之中的灰度阈值,然后将图像中各个象素的灰度值都与这个阈值相比较,并根据比较结果将对应的像素分为两类。这两类像素一般分属图像的两类区域,从而达到分割的目的。从该方法中可以看出,确定一个最优阈值是分割的关键。现有的大部分算法都是集中在阈值确定的研究上。阈值分割方法根据图像木身的特点,可分为单阈值分割方法和多阈值分割方法;也可分为基于像素值的阈值分割方法、基于区域性质的阈值分割方法和基于坐标位罝的阈值分割方法。若根据分割算法所有的特征或准则,还可以分为直方图与直方图变换法、最大类空间方差法、最小误差法与均匀化误差法、共生矩阵法、最大熵法、简单统计法与局部特性法、概率松弛法、模糊集法、特征空间聚类法、基于过渡区的阈值选取法等。 目前提出了许多新方法,如严学强等人提出了基于量化直方图的最大熵阈值处理算法,将直方图量化后采用最大熵阈值处理算法,使计算量大大减小。薛贵浩、帝毓晋等人提出基于最大类间后验交叉熵的阈值化分割算法,从目标和背景的类间差异性出发,利用贝叶斯公式估计像素属于目标和背景两类区域的后验概率,再搜索这两类区域后验概率之间的最大交叉熵。这种方法结合了基于最小交叉熵以及基于传统香农熵的阈值化算法的特点和分割性能,取得很好的通用性和有效性,该算法也容易实现二维推广,即采用二维统计量(如散射图或共生矩阵)取代直方图,以提高分割的准确性。俞勇等人提出的基于最小能量的图像分割方法,运用了能量直方图来选取分割阈值。任明武等人提出的一种基于边缘模式的直方图构造新方法,使分割阈值受噪声和边缘的影响减少到最小。程杰提出的一种基于直方图的分割方法,该方法对Ostu准则的内在缺陷进行了改进,并运用对直方图的预处理及轮廓追踪,找出了最佳分割阈值。此方法对红外图像有很强的针对性。付忠良提出的基于图像差距度量的阈值选取方法,多次导出Ostu方法,得到了几种与Ostu类似的简单计算公式,使该方法特别适合需自动产生阈值的实时图像分析系统。华长发等人提出了一种基于二维熵阈值的图像分割快速算法,使传统二维阈值方法的复杂度从0(W2 S2)降至0(W2/3 S2/3)。赵雪松等人提出的综合全局二值化与边缘检测的图像方法,将全局二值化与边缘检测有效的结合起来,从而达到对信封图分割的理想效果。靳宏磊等人提出的二维灰度直方图的最佳分割方法,找到了一条最佳分割曲线,使该算法得到的分割效果明显优于一维直方图阈值方法。乐宁等人根据过渡区内象素点具有的邻域方向性特点,引入了基于一元线性回归处理的局部区域随机波动消除方法,将图像过渡区算法进行了改进。模糊技术及其日趋成熟的应用也正适应了大部分图像边缘模糊而难以分析的现状,赵初和王纯提出的模糊边缘检测方法能有效地将物体从背景中分离出来,并已在模式识别中的图像预处理和医学图像处理中获得了良好的应用。金立左、夏良正等提出图像分割的自适应模糊阈值法,利用目标一背景对比度自动选取窗宽的方法,并给出了根据目标与摄像机间的相对距离估计目标--背景对比度的算法,克服隶属函数的分布特性及其窗宽对阈值选取的不良影响。其应用于智能电视跟踪系统,对不同对比度和不同距离的海面舰船图像进行阈值分割,有较强的场景适应能力。王培珍、杜培明等人提出了一种用于多阈值图像自动分割的混合遗传算法,针对Papamarkes等提出爬山法的多阈值分割和Olivo提出子波变换的方法只对明显峰值有效而对不明显的峰值无效的缺点,以及结合模糊C-均值算法和遗传算法的两大显著特点而改进的算法,这种分割方法能够快速正

数字图像的空间域滤波和频域滤波

数字图像的空间域滤波和频域滤波

三、实验过程 1. 平滑空间滤波: 1) 读出一幅图像,给这幅图像分别加入椒盐噪声和高斯噪声后并与前一张图显示在同一图像窗口中。 椒盐噪声: def salt_pepperNoise(src): dst = src.copy() num = 1000 # 1000个噪声点 ndim = np.ndim(src) row, col = np.shape(src)[0:2] for i in range(num): x = np.random.randint(0, row) # 随机生成噪声点位置 y = np.random.randint(0, col) indicator = np.random.randint(0, 2) # 灰度图像 if ndim == 2: if indicator == 0: dst[x, y] = 0 else: dst[x, y] = 255 # 彩色图像 elif ndim == 3: if indicator == 0: dst[x, y, :] = 0 else: dst[x, y, :] = 255 return dst 高斯噪声: def addGaussianNoise(image,sigma): mean = 0.0 row, col ,ch= image.shape gauss = np.random.normal(mean, sigma, (row, col,ch)) gauss = gauss.reshape(row, col,ch) noisy = image + gauss return noisy.astype(np.uint8)

灰度图像转彩色图像代码

clc; clear all; close all; I = imread('q.jpg'); I1 = I; I2 = I; I3 = I; I1(I1>60 & I1<120) = 255; I2(I2>20 & I2<50) = 255; I3(I3>80 & I3<160) = 255; J = cat(3, I1, I2, I3); figure; subplot(1, 2, 1); imshow(I, []); title('By lyqmath 原图', 'FontWeight', 'Bold', 'Color', 'r'); subplot(1, 2, 2); imshow(J, []); title('By lyqmath 彩色图', 'FontWeight', 'Bold', 'Color', 'r'); 二. I = imread('q.jpg'); GS8=grayslice(I,8); GS64=grayslice(I,64); subplot(1,3,1), imshow(I), title('原始灰度图像'); subplot(1,3,2), subimage(GS8,hot(8)), title('分成8层伪彩色'); subplot(1,3,3), subimage(GS64,hot(64)), title('分成64层伪彩色');

k=imread('q.jpg'); [x y z]=size(k); % z should be one for the input image k=double(k); for i=1:x for j=1:y if k(i,j)>=0 & k(i,j)<50 m(i,j,1)=k(i,j,1)+5; m(i,j,2)=k(i,j)+10; m(i,j,3)=k(i,j)+10; end if k(i,j)>=50 & k(i,j)<100 m(i,j,1)=k(i,j)+35; m(i,j,2)=k(i,j)+28; m(i,j,3)=k(i,j)+10; end if k(i,j)>=100 & k(i,j)<150 m(i,j,1)=k(i,j)+52; m(i,j,2)=k(i,j)+30; m(i,j,3)=k(i,j)+15; end if k(i,j)>=150 & k(i,j)<200 m(i,j,1)=k(i,j)+50;

第三章 空间域图像增强

第三章 图像增强 燕山大学电气工程学院 赵彦涛 3.1图像增强的概念 对于一般可理解的图像增强,是指使经过增强处理后的图像其视觉效果更好,如对于某些图像看起来比较灰暗,增强处理后使其亮度增强,人眼看起来更舒服;也就是说,改善曝光不足或曝光过度对图像的影响。淡化背景,强化前景;广义的图像增强指处理后的图像比原始图像更适合于特定应用,更有利于后续图像处理,消除噪声干扰,强化有用信息等都可认为为后续的计算机处理、分析更有利。 根据其处理数据所进行空间不同,图像增强的方法可分为空域(空间域)图像增强方法和变换域(频域)增强方法。空域图像增强方法是直接处理构成图像的像素点的灰度值,而变换域图像增强方法是经过图像变换后,增强方法在其变换域中间接进行。 图像增强是与具体问题紧密相联系的,增强的目的不同,图像类型不同,采用的方法也不同,没有一种增强算法能适用于所有的应用场合。 3.2图像增强的点运算 所谓点运算就是输出图像上的每个像素的灰度值仅由相应输入像素点的值确定。空域方法是指直接对图像的像素点的灰度值进行操作,空域处理可定义为 )),((),(y x f T y x g = (1) 式中,),(y x f 是输入图像,),(y x g 是处理后的图像,T 是一种操作方法。 3.2.1 直接灰度变换 直接进行灰度变换是图像增强最简单的一类方法,设处理前后的图像的像素点的灰度值分别为r 和s ,变换方式为 )(r T s = (2) 式中,T 是把灰度值r 变换为s 的映射。由于处理的是数字量,变换函数的值通常存储在一个一维向量中,通过函数或者查表将灰度值r 映射为s 。对于8比特的灰度值,一个包含这种映射的查找表要有256个记录。 3.2.1.1 图像的直方图 图像的直方图表示图像中各种灰度级的个数(或概率),反映了一幅图像中灰度级与出现这种灰度级的概率之间的关系。对于一个8 bit (有256个灰度等级)的图像,直方图就是 N n r p k k =)( (4) 式中,k r 是第k 个灰度等级, k n 为图像中灰度等级为k r 的像素点的个数,N 是

数字图像处理灰度变换与空间域matlab

学号: 0000000000 姓名:0000000 实验一灰度变换与空间域滤波 一.实验目的及要求 1.了解MATLAB的操作环境和图像处理工具箱Image Processing Toolbox的功能;2.加深理解图像灰度变换与空间域滤波概念和算法原理; 3.掌握MATLAB中图像灰度变换与空间域滤的实现方法。 二、实验内容 (一)研究以下程序,分析程序功能;输入执行各命令行,认真观察命令执行的结果。利用MATLAB帮助文档熟悉程序中所使用函数的调用方法,改变有关参数,观察试验结果。(可将每段程序保存为一个.m文件) 1.图像及视频文件的基本操作 (1)RGB彩色图像数据的读写操作 clear all; %清除工作空间的所有变量,函数,和MEX文件 close all; %关闭所有的Figure窗口 %查看一幅RGB彩色图像文件的信息 fileinfo = imfinfo('Fig0701_fruits.jpg') %暂停,阅读命令窗口中的结果,按空格键继续 pause; %读取该图像 I=imread('Fig0701_fruits.jpg'); %显示图像 imshow(I); title('Original RGB true color image'); %查看图像像素信息,在图像上移动鼠标,注意左下角的信息 impixelinfo; %暂停,按空格键继续 pause; % 读取图像的颜色分量,并保存到二维矩阵变量中 IR = I(:,:,1); IG = I(:,:,2); IB = I(:,:,3); %以灰度图像的方式显示各颜色分量

figure, imshow(IR); title('R分量'); figure, imshow(IG); title('G分量'); figure, imshow(IB); title('B分量'); %在图像左上角画一条5像素宽、100像素长的水平稍暗红线 I(31:35,61:160,1)=200; I(31:35,61:160,2)=0; I(31:35,61:160,3)=0;% %显示处理结果 figure, imshow(I); title('在图像背景中画红线'); %将结果保存为tif格式图像文件 imwrite(I,'fruits_bar.tif'); %-------------------------------------------------------------------------------- (2)索引图像与 RGB彩色图像之间的转换

彩色图像分割-RGB模型

成绩评定表学生姓名班级学号 专业电子信息工 程课程设计题目彩色图像分割程序设 计——RGB模型 评 语 组长签字: 成绩 日期201年月日

课程设计任务书 学院信息科学与工程专业电子信息工程 学生姓名班级学号 课程设计题目彩色图像分割程序设计——RGB模型 实践教学要求与任务: 本次课程设计中,主要任务是实现基于RGB模型的彩色图像分割的程序设计,对给定的彩色图像的颜色,使用RGB颜色模型,来对其进处理。 并且设计MATLAB程序,使其能完成输入图像便自动使用RGB 模型来进行图像分割。 工作计划与进度安排: 第一阶段(1-2天):熟悉matlab编程环境,查阅相关资料; 第二阶段(2-3天):算法设计; 第三阶段(2-3天):编码与调试; 第四阶段(1-2天):实验与分析; 第五阶段(1-2天):编写文档。 指导教师: 201年月日专业负责人: 201年月日 学院教学副院长: 201年月日

Matlab是当今最优秀的科技应用软件之一,它一强大的科学计算与可视化功能,简单易用,开放式可扩展环境,特别是所附带的30多种面向不同领域工具箱支持,使得它在许多科学领域中成为计算机辅助设计与分析,算法研究和应用开发的基本工具盒首选平台在图像处理中,Matlab也得到了广泛的应用,例如图像变换,设计FIR滤波器,图像增强,四叉树分解,边缘检测,小波分析等等。不同的颜色空间在描述图像的颜色时侧重点不同。如RGB(红、绿、蓝三原色)颜色空间适用于彩色监视器和彩色摄象机,HSI(色调、饱和度、亮度)更符合人描述和解释颜色的方式(或称为HSV,色调、饱和度、亮度),CMY(青、深红、黄)、CMYK(青、深红、黄、黑)主要针对彩色打印机、复印机等,YIQ (亮度、色差、色差)是用于NTSC规定的电视系统格式,YUV(亮度、色差、色差)是用于PAL规定的电视系统格式,YCbCr(亮度单一要素、蓝色与参考值的差值、红色与参考值的差值)在数字影像中广泛应用。 彩色图像的处理有时需要将图像数据在不同的颜色空间中表示,因此,图像的颜色空间之间的转换成为一项有意义的工作。其中RGB在颜色空间转换中其关键作用,是各个空间转换的桥梁。Matlab中的颜色空间转换只涉及到了RGB、HSV、YCbCr、YIQ等,没有包含lαβ和其它颜色空间的转换。 关键字:Matlab;图像处理;RGB

彩色空间转换

实验五彩色空间转换一、 实验目的 掌握MATLAB 中彩色空间的转换 二、实验步骤 1、由RGB 空间转换到YIQ: 读入5.jpg 图像; clc;clear; f = imread('5.jpg') yiq_image=rgb2ntsc(f); imshow(yiq_image) 显示结果如下: 2、由YIQ 彩色空间转换到RGB 空间下: rgb_image=ntsc2rgb(yiq_image); figure,imshow(rgb_image) 转换结果如图:

2、YCbCr 和RGB 彩色空间的相互转换 ycbcr_image=rgb2ycbcr(f); figure,imshow(ycbcr_image) rgb_image=ycbcr2rgb(ycbcr_image); figure,imshow(rgb_image) 效果如下图: 3、HSV 和RGB 彩色空间的相互转换 >> hsv_image=rgb2hsv(f); >> figure,imshow(hsv_image); >> rgb_image=hsv2rgb(hsv_image); >> figure,imshow(rgb_image); 效果如下图: 4、CMY 和RGB 彩色空间的相互转换 >> cmy_image=imcomplement(f); >> figure,imshow(cmy_image); >> rgb_image=imcomplement(cmy_image); >> figure,imshow(rgb_image); 效果如下图:

5、RGB 彩色空间到HSI 彩色空间的转换 hsi=rgb2hsi(f); figure,subplot(141),imshow(hsi) subplot(142),imshow(hsi(:,:,1)) subplot(143),imshow(hsi(:,:,2)) subplot(144),imshow(hsi(:,:,3)) 效果如下图: 三、实验总结 通过本次实验我掌握了MATLAB 中彩色空间的转换的基本方法。本次实验与上次实验联系比较紧密。但本次实验于上次实验相比,难度上有了一些变化,尤其是在RGB 彩色空间到HSI 彩色空间的转换的时候,出现了一点问题。由于在系统中本身没有rgb2hsi这个函数,所以运行时出现了错误,但通过,上网查找资料终于解决了这一问题。总体来说本次实验收获还是比较大的。

相关文档
最新文档