图片局部放大算法

图片局部放大算法
图片局部放大算法

·算法原理

在Delphi中,可利用类Tcanvas的CopyRect方法实现图象的放大和缩小。

其功能是将源画布上的一个指定矩形区域(简称源矩形)内的象素,拷贝到目的画布上的一个指定矩形区域(简称目的矩形)中。亦可称之为象素块复制,如图1所示。

由CopyMode属性确定拷贝的模式。在直接拷贝模式(cmSrcCopy)下,当源矩形与目的矩形相等时,图象不变;若源矩形大于目的矩形,图象则缩小;

而当源矩形小于目的矩形时,图象便被放大(在目的矩形中扩展)。源矩形与目的矩形大小之比,决定图象的缩放倍数。CopyRect方法声明如下: Procedure CopyRect(const Dest: TRect; Canvas: TCanvas; const So urce: Trect);

其中参数,Dest为目的矩形,Canvas是源画布,Source为源矩形。

·实现步骤

·新建应用程序主目录C:\Magnifier及其子目录Images,将事先制作好的位图图象Picture.bmp存入Images目录?纠 校琍icture.bmp的大小为260*310象素。

·启动Delphi IDE,新建项目Magnifier.dpr,主窗体单元命名为Main.pas,存入C:\Magnifier目录。在主窗体上放置一个TPanel组件,并在其中加入两个TImage组件。两个TImage组件分别命名为ForeImage 和BackImage,前者重叠于后者之上,并且都装入Picture.bmp位图。

·在主单元Main.pas的implementation段声明常量和变量:

const

sSide=30;

dSide=45;

var

msHide: Boolean;

OldX, OldY, NewX, NewY: Integer;

DestRect, SourceRect : TRect;

其中,常量sSide和dSide用以控制“放大镜”的大小和放大倍数;变量msHide控制光标(鼠标)的隐藏和打开;其它变量用以确定放大部位。

·建立主窗体MainForm的OnCreate事件,加入下列语句,以初始化变量及设置复制模式:

msHide:=True;

Canvas.CopyMode:=cmSrcCopy;

·创建主窗体MainForm的OnKeyPress事件处理程序,在其begin与end 之间输入语句“Close;”,当按任意键时结束程序运行。

·定义过程ImageCopy,用于处理图象的放大和恢复,当移动鼠标时调用。这是实现图象局部放大最重要的过程,源代码如下。

procedure TMainForm.ImageCopy(BoxCenterX, BoxCenterY, BoxSide

: Integer);

begin

with SourceRect do

begin

Left:=BoxCenterX-BoxSide;

Top:=BoxCenterY-BoxSide;

Right:=BoxCenterX+BoxSide;

Bottom:=BoxCenterY+BoxSide;

end;

with DestRect do

begin

Left:=BoxCenterX-dSide;

Top:=BoxCenterY-dSide;

Right:=BoxCenterX+dSide;

Bottom:=BoxCenterY+dSide;

end;

ForeImage.Canvas.CopyRect(DestRect, BackImage.Canvas, SourceRec t);

end;

注意,别忘了在Main.pas的“type”中声明过程ImageCopy。

·创建ForeImage的OnMouseMove事件处理程序,当鼠标在图象上移动时,获取其位置,并作为过程调用的实参。此时,光标隐藏,“放大镜”出现。随着“放大镜”的移动,图象新的部位被放大,滑过的部位又恢复原状。以下为begin与end之间的代码:

NewX:=X;

NewY:=Y;

if msHide then

begin

OldX:=NewX;

OldY:=NewY;

msHide:=False;

ShowCursor(False);

end else

begin

ImageCopy(OldX, OldY, dSide);

end;

ImageCopy(NewX, NewY, sSide);

OldX:=NewX;

OldY:=NewY;

·建立主窗体MainForm的OnMouseMove事件处理程序,当鼠标移开图象时,“放大镜”隐藏,光标重新出现。源代码片段如下:

if not msHide then

begin

msHide:=True;

ShowCursor(True);

ImageCopy(OldX, OldY, dSide);

end;

·技术剖析

以上介绍了利用了画布的CopyRect方法,将图象以象素块从后台隐藏的TImage组件画布上向前台TImage组件的画布上拷贝,以实现图象的放大与恢复的技术。由于这一技术的采用,在图象放大前不需要存储象素,此后直接从后台TImage组件画布上恢复图象。不仅节省了内存资源,也确保了对图象的局部进行平滑、无闪烁地放大。同时,程序源代码也简洁、明了。

如何提高照片像素 [数码拍摄提高照片像素的方法]

如何提高照片像素[数码拍摄提高照片像素的方法] 初玩摄影的朋友,是否为照片的像素不高而烦恼?以下是小编为你精心整理的数码拍摄提高照片像素的方法,希望你喜欢。 数码拍摄提高照片像素的方法 1. 尽量使用三脚架 很多情况下,照片图像模糊、不清晰的原因,是拍摄者在按动快门时产生“手振”或相机反光板抬升产生“机振”所造成的。如果使用了三脚架,无论快门速度设定到如何的“慢”,甚至长时间的曝光,即可防止图像由于“抖动”而产生的图像模糊。但要注意,使用三脚架时,要尽可能地使用快门线,忽视这一点,仍有可能在手指接触快门时产生的震动而影响清晰度。 2. 尽可能地使用高速快门 在手持照相机拍照的情况下,尽可能采用高速快门来拍摄。没有经验的拍摄者,快门速度设定在1/30s以下时,照片拍虚的概率较大。即使专业摄影工作者,也不能保证在低速快门拍摄时有百分之百的把握。提高快门速度,会相应提高照片清晰度的概率。当然,在手持照相机提高快门速度的情况下,势必开大光圈,因而会失去“大景深”,但为保证照片的清晰度,放弃景深是不得已的办法。 3. 尽可能使用“最佳光圈” 任何镜头都存在不同程度的成像误差,这些成像误差将使镜头的成像质量受到不同程度的影响。由于镜头球面的曲率不同,光线经过透镜中心和边缘时因折射率不同而不能聚焦于同一焦点,从而导致清晰度下降。如使用镜头的最大光圈拍摄,将导致该镜头像差缺陷的最大暴露,导致图像清晰度下降,而使用镜头的最小光圈拍摄,会产生光的衍射,也会导致图像清晰度下降。为改善像差而引起的清晰度下降问题,通常采用缩小光圈的办法来提高成像的质量。一般来说镜头的最佳光圈为该镜头最大光圈缩小2~3档左右,拍摄者可对某个镜头的最佳光圈进行比较。 4. 尽可能采用手动对焦 目前大多数相机具有自动对焦功能。然而,在景深特别小的情况下,自动对焦往往会聚焦不准确,特别是在向主体近距离对焦,使用长焦距镜头,采用大光圈拍摄人像特写的情况下,要特别小心。如果此时采用自动对焦,“靶子”非要对在人物的眼睛上,如果没有十分的把握,宁可放弃自动对焦,而采用手动对焦。人们不希望照片上人物的耳朵或鼻子是清晰的,而传神的眼睛是模糊的。 5. 尽量使用遮光罩 遮光罩的使用,很多人并不在意。在用正面光、前侧光或侧光时,遮光罩的作用并不明显。但是在逆光或侧逆光拍摄时,必须使用遮光罩,有时即便使用了遮光罩,阳光仍会直射到镜头上,造成画面“冲光”,产生雾翳,影响被摄体的色彩饱和度和清晰度。这时,应调整镜头角度,避开直射到镜头上的光线。此外,遮光罩还有助于防止镜头镜面损伤,同时避免手指接触到镜面。 6. 合理利用景深 景深的大小是根据拍摄者拍摄的目的来决定。如果是拍摄风光摄影,景深就要求大,目的是为让照片上景物的清晰范围从近至远都表现得很清楚。如果是拍摄特写,景深就要求小,目的是让照片上主体的背景虚化,突出被摄主体。用小景深来表现风光题材,或用大景深去表现被摄体特写,从摄影表现手法上来说适得其反。如何合理运用景深呢?请记住:采用小光圈、短焦距镜头、远距离对焦拍摄三种方法,景深就大。采用大光圈、长焦距镜头、近距离对焦拍摄三种方法,景深就小。采用其中一种或两种拍摄方法也行,但效果没有三

线性插值算法实现图像缩放详解

线性插值算法实现图像缩放详解 在Windows中做过图像方面程序的人应该都知道Windows的GDI有?个API函数:StretchBlt,对应在VCL中是 TCanvas类的StretchDraw方法。它可以很简单地实现图像的缩放操作。但问题是它是用了速度最快,最简单但效果也是最差的“最近邻域法”,虽然在大多数情况下,它也够用了,但对于要求较高的情况就不行了。 不久前做了?个小玩意儿,用于管理我用DC拍的?堆照片,其中有?个插件提供了缩放功能,目前的版本就是用了StretchDraw,有时效果不能令人满意,我?直想加入两个更好的:线性插值法和三次样条法。经过研究发现三次样条法的计算量实在太大,不太实用,所以决定就只做线性插值法的版本了。 从数字图像处理的基本理论,我们可以知道:图像的变形变换就是源图像到目标图像的坐标变换。简单的想法就是把源图像的每个点坐标通过变形运算转为目标图像的相应点的新坐标,但是这样会导致?个问题就是目标点的坐标通常不会是整数,而且像放大操作会导致目标图像中没有被源图像的点映射到,这是所谓 “向前映射”方法的缺点。所以?般都是采用“逆向映射”法。 但是逆向映射法同样会出现映射到源图像坐标时不是整数的问题。这里就需要“重采样滤波器”。这个术语看起来很专业,其实不过是因为它借用了电子信号处理中的惯用说法(在大多数情 况下,它的功能类似于电子信号处理中的带通滤波器),理解起来也不复杂,就是如何确定这个非整数坐标处的点应该是什么颜色的问题。前面说到的三种方法:最近邻域法,线性插值法和三次样条法都是所谓的“重采样滤波器”。 所谓“最近邻域法”就是把这个非整数坐标作?个四舍五入,取最近的整数点坐标处的点的颜色。而“线性插值法”就是根据周围最接近的几个点(对于平面图像来说,共有四点)的颜色作线性插值计算(对于平面图像来说就是二维线性插值)来估计这点的颜色,在大多数情况下,它的准确度要高于最近邻域法,当然效果也要好得多,最明显的就是在放大时,图像边缘的锯齿比最近邻域法小非常多。当然它同时还带业个问题:就是图像会显得比较柔和。这个滤波器用专业术语来说(呵呵,卖弄?下偶的专业^_^)叫做:带阻性能好,但有带通损失,通带曲线的矩形系数不高。至于三次样条法我就不说了,复杂了?点,可自行参考数字图像处理方面的专业书籍,如本文的参考文献。 再来讨论?下坐标变换的算法。简单的空间变换可以用?个变换矩阵来表示: [x’,y’,w’]=[u,v,w]*T 其中:x’,y’为目标图像坐标,u,v为源图像坐标,w,w’称为齐次坐标,通常设为1,T为?个3X3的变换矩阵。 这种表示方法虽然很数学化,但是用这种形式可以很方便地表示多种不同的变换,如平移,旋转,缩放等。对于缩放来说,相当于: [Su 0 0 ] [x, y, 1] = [u, v, 1] * | 0 Sv 0 | [0 0 1 ] 其中Su,Sv分别是X轴方向和Y轴方向上的缩放率,大于1时放大,大于0小于1时缩小,小于0时 反转。 矩阵是不是看上去比较晕?其实把上式按矩阵乘法展开就是: { x = u * Su

如何利用PS增强人物照片的清晰度

如何利用PS增强人物照片的清晰度 最近经常发现网友发的自拍作品有点对焦不清的感觉,照片有少量的重影。总体感觉不是很清晰。如果要让照片清晰,单纯用锐化是不行的,个人总结了以下两种方法,供大家参考。 第一种方法针对灰度较大的照片调清晰,主要用调色工具和蒙版来控制需要清晰的部分,方法非常简单实用。 以这种图片为例吧 先看看经过ps后的效果

1、打开图片,观察直方图:图中红圈出,说明亮部和暗部匀无细节。 2、创建色阶调整层(此处也可用自动色阶,自动色阶对好多图片会起到很好的作用).方法如图所示:按住红圈中的滑块向箭头方向移动。

3、创建色彩平衡调整层:对阴影高光分别进行调整。 4、用曲线来提亮皮肤,添加蒙板后察出不需提亮部分。 5、盖印图层,进行适当的磨皮修饰,再创建色相/饱和度调整图层参数设置如下图,确定后完成最终效果。

如果要让照片清晰,单纯按照上面的方法还是是不行的,个人认为需要慢慢把五官的轮廓找出来,慢慢修正,这样照片的效果会好很多。 以这种图片为例,看起来比较随意比较模糊的一种自拍照 先看看经过ps后的效果

1、首先磨皮,打开原图,按Ctrl + J把背景图层复制一层,执行:滤镜 > 模糊 > 高斯模糊,数值为4,确定后按住Alt键加上图层蒙版,然后用白色画笔在人物脸部有杂点的部位涂抹。 新建一个图层,按Ctrl + Alt + Shift + E盖印图层,然后把图层混合模式改为“滤色”,图层不透明度改为:30%。 3、新建一个图层,盖印图层,下面开始处理五官之一眼睛,先用钢笔工具把眼睛主体部分抠出来,转为选区,选择加深工具曝光度为:10%左右,贴着边缘线把边缘部分稍微加深一点。 4、双眼皮部分的处理,用钢笔工具勾出双眼皮的区域,转为选区如图4,选择减淡工具,曝光度为:10%,涂抹下图箭头位置,稍微涂白一点,制作出下眼皮的高光部分,涂好后不要取消选区。 5、按Ctrl + Shift + I反选,选择加深工具涂抹,下图箭头所示位置,稍微加深一点即可,加深的时候要贴住边缘线,用力摇均匀。

(完整版)基于matlab的图像缩小算法

一、基于matlab图像缩小算法 缩小算法与放大算法不同,图像缩小是通过减少像素个数来实现的。因此,需要根据缩小的尺寸来选择合适的像素点,使得图像缩小后尽可能保持源图像特征。基于等间隔采样的缩小算法。 这种算法是通过对图像像素的均匀采样来保持所选择的像素仍旧保持像素的概貌特征。 算法1通过matlab实现可得: function small=big2small(A,h,l) [m,n]=size(A); k1=m/h;k2=n/l; small=zeros(h,l); for i=1:h for j=1:l i0=i*k1;j0=j*k2; i1=floor(i0+0.5); j1=floor(j0+0.5); small(i,j)=A(i1,j1); end end end 1、基于局部均值的缩小算法。 这种算法通过采样间隔dx,dy将原图像矩阵分割为一系列小的矩阵,并计算这些小矩阵的元素的和,再求其均值赋给目标矩阵相应的像素。这样就避免了算法1中某些未取到的元素不能将其信息反映到目标矩阵的缺点。 算法2通过matlab实现可得: function small=big2small2(A,h,l) [m,n]=size(A); %获得矩阵A大小 A=im2double(A); small=zeros(h,l); for i=1:h for j=1:l sum=0; i1=round((m/h).*(i-1)+1); %将矩阵分块 j1=round((n/l).*(j-1)+1); %i1,j1为矩阵小块左上角元素下标 i2=round((m/h).*i); j2=round((n/l).*j); %i2,j2为矩阵小块右下角元素下标 for ii=i1:i2 for jj=j1:j2 sum=sum+A(ii,jj); %计算矩阵内元素值的和 end end small(i,j)=sum/((i2-i1+1).*(j2-j1+1)); %将均值赋给目标矩阵 end end end

任意比例视频图像放大算法的研究与实现

任意比例视频图像放大算法的研究与实现 摘要:随着多媒体信息技术的发展,针对视频信号的处理技术应运而生。其中实时缩放正是视频信号处理技术的关键。对于图像缩放,所用数学模型的优劣会直接影响用户观看图像的质量。在视频处理中,图像的缩放算法不仅影响视频质量,而且算法的处理速度也会影响视频流的显示,从而影响用户观看的连续性。本文针对视频信号对处理速度和精度的要求,采用只对亮度信号进行复杂处理的方法。分析图像边缘区域的特性,并通过数学推导,在边缘区域的插值中设计四个模板,从而设计改进的视频缩放算法。实验结果表明,本设计的视频信号缩放算法在主观视觉上保持了图像纹理细节和边缘信息。客观评价中,本算法处理得到的图像高频分量丢失少,且保证较好的低频分量处理效果;平均峰值信噪比较双线性插值提高0.24dB。 关键词:视频信号;图像处理;缩放;边缘 ABRSTRACT:With the rapid development of multimedia information technology,video signal's processing technology emerges at that time. Video’s real-time scaling is the key issue in video signal's processing technology. For image scaling,the mathematical model affects the picture’s visual quality. In video processing,not only the scaling algorithm influences the video’s quality,but also the alg orithm’s performance affects the display of the video so that influences the video playing smoothly.Due to the speed and precision demanded in video signal’s processing,only employ the proposed algorithm in Y channel signal. Under the analysis on the characteristic of the edge in image,four scaling masks are deduced mathematically. This paper issues a lot of experiments on the infrastructure of the theoretical study,which show that the video signal's scaling algorithm designed in this paper has obtained the better effectiveness than traditional algorithms. Our design keeps texture details in subjective vision,raises the PSNR 0.24dB on average,and it has well performance in both high and low frequency component in spectrum at the same. This is satisfied with the designated target of the project. Key words: video signals; image processing; scaling; edge 1 绪论 1.1 研究背景及意义 信息技术和互联网发展到今天,多媒体信息技术的应用范围日趋广泛,多媒体信息包括音频数据、图像和视频数据及文字数据。而人类获取的各种信息中,图像信息占有绝大部分,图像带给人们直观并具体的事物形象,这是声音、语言和文字不能比拟的。 人眼看到的是连续变化的景物,是模拟图像,而在数字设备中存储和显示的图像是经过采样和量化的数字图像。为满足人类视觉和实现信息传输的需求,针对图像和视频信息的实时缩放技术在生活中起着不可忽略的作用[1]。 视频图像的后期缩放处理势必将会作为显示呈现在终端之前的一个重要环节。无论其输入视频信源的分辨率大小尺寸多少,最终都应该以用户的实际物理显示设备的最佳观看分辨率作为显示输出结果,通常由于带宽有限的关系,该显示过程通常以放大为主,即输入视频图像分辨率小于输出分辨率。为了满足不同终端用户对图像尺寸的需求,改变图像尺寸的缩放技术应运而生。 图像缩放是数字图像处理中非常重要的技术之一。对于网络传输的图像,由于客观条件的种种限制,想要快速地传输高分辨率的图像一般难以达到,同时由于硬件性能的限制,图片往往也无法满足所需要的分辨率,而硬件的改进却需要复杂的技术并付出昂贵的代价,所以如果能够从软件技术方面进行改进,采用图像插值技术提高图像质量来达到所期望的分辨率和清晰度,其具有的实用意义将是十分重大的。因此,利用插值的方法将低分辨率图像插值放大成高分辨率图像就成为人们追求的目标。 用图像缩放算法进行处理时,存在一对相悖的要素:图像处理速度和图像精度。一般情况下,要想获得比较高的速度甚至达到实时的图像输出速率,只能采用相对来说运算量比较简单的缩放算法;而如果要想获得处理效果比较好的图像,就只能考虑牺牲处理速度,采用计算量大、比较复杂的缩放算法。图像缩

一分钟教会你图片文件怎么保持清晰度压缩的方法

一分钟教会你图片文件怎么保持清晰度压缩的方法图片怎么保持清晰度压缩呢?在很多的时候,我们想要将图片进行保持清晰度压缩,但是找不到好的方法,图片保持清晰度压缩的方法很简单,下面教给大家保持清晰度的图片压缩的方法。 操作选用工具:迅捷压缩软件 迅捷压缩软件:https://https://www.360docs.net/doc/7e18185252.html,/compress 具体操作步骤如下: 1:先在浏览器搜索图片压缩,找到在线压缩图片的网站,进入到网站的首页。 2:在网站的首页可以找到文档处理,鼠标移动到文档处理,就会看到图片压缩,点击图片压缩进入到压缩的页面。

3:在压缩的页面找到选择文件,点击选择文件选择需要进行压缩的图片文件,最多可以选择四张。 4:添加文件后,在下面会看到压缩的选项,将选项调整到清晰度优先的格式,点击开始压缩,你需要进行压缩的文件就会在压缩的过程中。

在线网站进行压缩图片可以添加的图片少,可以使用下面方法进行多张图片压缩 1:找到一款压缩软件,将压缩软件下载到指定的电脑位置中。打开软件,找到图片压缩,进入到压缩的页面。 2:在压缩的页面可以看到添加文件以及添加文件夹,将需要压

缩的图片文件添加到压缩的页面中。 3:在下面会看到压缩的选项以及输出的格式,将压缩选项调整到清晰度优先即可。 4:在底部可以看到保存至,设置好自己文件需要保存的路径,

最好是可以随时找到的文件夹。 5:点击开始压缩,需要进行压缩的图片文件就会在压缩的过程中,请耐心等待。压缩完成的文件会直接保存带指定的文件夹中。

希望以上的操作对您有所帮助。按照上面的方法操作会比较简单。

如何让你的照片更清晰

简单使用PS的高级锐化(一)—提高锐化精度 锐化水平:只要你明白点Photoshop图层,能找到“编辑”、“滤镜”菜单,会把PS的图像存储为JPG格式就行。 锐化注意:一定在其他后期处理都整完了再进行。 锐化要点:宁可不那么锐,也不要锐过。 锐化参数:各值只作参考,图的大小决定参数的大小。俺示例用图为1024×768像素。 锐化,对那些PS高手来说是不值一提的,但对一用PS就觉得头疼的影友来说就要费一翻周折,什么高反差保留、边缘锐化、什么USM锐化,进一步锐化......。当然有很多小的数码图片处理软件有锐化功能,但我告诉你,那能和PHOTOSHOP相比吗,要不它整那么多锐化干啥,用PS锐化就是来提高锐化精度。当然有很多大师在杂志或论坛上讲解PS 的锐化方法,但那是大师级的,说的是术语并长篇大论(是不是为了稿费我就说不清了),他还告诉你PS是咋实现锐化的,有时你需翻来覆去地看才能整明白。咱们用不着知道咋就能够锐,咱们知道咋锐就行了。今天俺就总结大师们的经验,照虎画猫,用白话帮你整整锐化,让不咋敢用PS锐的影友努力把片子秀出精彩。 锐化的目的是让片子更清楚些,但如果拍时整虚了,那是错位了,也想用锐化弄清晰,我看不易。它是用在相机动态范围小啦、锐度低啦、图片缩小后什么的。下面介绍两招俺认为作用大的,较精确的锐法,大师们可别笑,俺是和初学者共同学招,而且您发现哪不对赶快砸我,免得误导。开始! 一、USM锐化。

USM,啥意思?我也说不太清,反正它是PS滤镜里带的一种锐化法,你就记住肯定比小软件锐的精就行了。 USM锐化拢共分五步。 第一步,把要锐的图像打开。 第二步,复制一层,把原图层的小眼睛关上,把图放大到100%。 第三步,在【滤镜】菜单中找到【锐化】——“USM锐化”,开。

摄像头工作原理及简单提高图片清晰度,分辨率

摄像头的工作原理 一、摄像头的工作原理 摄像头的工作原理大致为:景物通过镜头(LENS)生成的光学图像投射到图像传感器表面上,然后转为电信号,经过A/D(模数转换)转换后变为数字图像信号,再送到数字信号处理芯片(DSP)中加工处理,再通过USB接口传输到电脑中处理,通过显示器就可以看到图像了。 注1:图像传感器(SENSOR)是一种半导体芯片,其表面包含有几十万到几百万的光电二极管。光电二极管受到光照射时,就会产生电荷。 注2:数字信号处理芯片DSP(DIGITAL SIGNAL PROCESSING)功能:主要是通过一系列复杂的数学算法运算,对数字图像信号参数进行优化处理,并把处理后的信号通过USB 等接口传到PC等设备。 (DSP结构框架: 1. ISP(image signal processor)(镜像信号处理器) 2. JPEG encoder(JPEG图像解码器) 3. USB device controller(USB设备控制器) ) 二、摄像头的主要结构和组件 从摄像头的工作原理就可以列出摄像头的主要结构和组件: 1、主控芯片 2、感光芯片 3、镜头 4、电源(摄像头内部需要两种工作电压:3.3V和2.5V,因此好的摄像头内部电源也是保证摄像头稳定工作的一个因素) 三、摄像头的一些技术指标 1、图像解析度/分辨率(Resolution): 2、图像格式(image Format/ Color space) RGB24,I420是目前最常用的两种图像格式。 ●RGB24:表示R、G、B三种颜色各8bit,最多可表现256级浓淡, 从而可以再现256*256*256种颜色。 ●I420:YUV格式之一。 ●其它格式有: RGB565,RGB444,YUV4:2:2等。 3、自动白平衡调整(AWB)

Photoshop提高照片清晰度方法

Photoshop提高照片清晰度方法 Photoshop 2008-09-16 16:49:52 阅读497 评论0 字号:大中小订阅 这幅照片的表情抓拍得非常到位。体现了作者熟练的抓拍技术和瞬间的把握。 作为摄影,还应当从摄影技术角度进一步提高,以达到精益求精。这幅照片不足之处是焦点没有集中在人物面部而集中在了胸部和左手,多少有些影响了主题充分展现。能不能把人物面部的清晰度进一步加强呢? 我们可以利用Photoshop技术轻松地增加面部的清晰度或模糊不需要清晰的地方,当然偶介绍的这种加强清晰度的方法不是那种一一般情况下的直接锐化,整个制作过程相对复杂一些,但效果显著,并加强动态感,把这幅优秀的照片做得更好。 第一步:用Phostshop打开原图; 图1 原图 第二步:打开"图层"→"新建"→"通过拷贝的图层",复制一个新的"背景副本";

图2 复制一个新的背景副本 第三步:通过"图像"→"调整"→"去色",使"背景副本"图层变成黑白;

图3 使背景副本图层变成黑白 第四步:将两个图层混合模式设为"叠加",这时可以看到图像仅仅拉大了反差,并没有增加清晰度。仍需要继续哦

图4 将两个图层混合模式设为叠加 第五步:这是最关键的一步。打开"滤镜"→"其他"→"高反差保留"面板,拉动滑标至半径1。0-2。0,从灰色图中可以看到图像的反差边缘呈现出来,彩色图像也开始变得清晰起来。

图5 把图像的反差边缘呈现出来 特别提醒:控制在1.0-2.0之间即可!只要能稍看到反差痕迹即可,不然将适得其反。

图6 滑标千万不要拉得过大 第六步:继续加强清晰度。将图层1用鼠标直接拖至下边的"创建新图层"图标上,即可生成一叠加新的效果图层,如果不满意,还可以继续用同样方法拖拉当前图层,直到清晰度满意为止。但不要太过份。

图像缩放算法比较分析(IJIGSP-V5-N5-7)

I.J. Image, Graphics and Signal Processing, 2013, 5, 55-62 Published Online April 2013 in MECS (https://www.360docs.net/doc/7e18185252.html,/) DOI: 10.5815/ijigsp.2013.05.07 A Comparative Analysis of Image Scaling Algorithms Chetan Suresh Department of Electrical and Electronics Engineering, BITS Pilani Pilani - 333031, Rajasthan, India E-mail: shivchetan@https://www.360docs.net/doc/7e18185252.html, Sanjay Singh, Ravi Saini, Anil K Saini Scientist, IC Design Group, CSIR – Central Electronics Engineering Research Institute (CSIR-CEERI) Pilani – 333031, Rajasthan, India Abstract—Image scaling, fundamental task of numerous image processing and computer vision applications, is the process of resizing an image by pixel interpolation. Image scaling leads to a number of undesirable image artifacts such as aliasing, blurring and moiré. However, with an increase in the number of pixels considered for interpolation, the image quality improves. This poses a quality-time trade off in which high quality output must often be compromised in the interest of computation complexity. This paper presents a comprehensive study and comparison of different image scaling algorithms. The performance of the scaling algorithms has been reviewed on the basis of number of computations involved and image quality. The search table modification to the bicubic image scaling algorithm greatly reduces the computational load by avoiding massive cubic and floating point operations without significantly losing image quality. Index Terms—Image Scaling, Nearest-neighbour, Bilinear, Bicubic, Lanczos, Modified Bicubic I.I NTRODUCTION Image scaling is a geometric transformation used to resize digital images and finds widespread use in computer graphics, medical image processing, military surveillance, and quality control [1]. It plays a key role in many applications [2] including pyramid construction [3]-[4], super-sampling, multi-grid solutions [5], and geometric normalization [6]. In surveillance-based applications, images have to be monitored at a high frame rate. Since, the images need not be of the same size, image scaling is necessary for comparison and manipulation of images. However, image scaling is a computationally intensive process due to the convolution operation, which is necessary to band-limit the discrete input and thereby diminishes undesirable aliasing artifacts [2]. Various image scaling algorithms are available in literature and employ different interpolation techniques to the same input image. Some of the common interpolation algorithms are the nearest neighbour, bilinear [7], and bicubic [8]-[9]. Lanczos algorithm utilizes the 3-lobed Lanczos window function to implement interpolation [10]. There are many other higher order interpolators which take more surrounding pixels into consideration, and thus also require more computations. These algorithms include spline [11] and sinc interpolation [12], and retain the most of image details after an interpolation. They are extremely useful when the image requires multiple rotations/distortions in separate steps. However, for single-step enlargements or rotations, these higher-order algorithms provide diminishing visual improvement and processing time increases significantly. Novel interpolation algorithms have also been proposed such as auto-regression based method [13], fuzzy area-based scaling [14], interpolation using classification and stitching [15], isophote-based interpolation [16], and even interpolation scheme combined with Artificial Neural Networks [17]. Although these algorithms perform well, they require a lengthy processing time due to their complexity. This is intolerable for real-time image scaling in video surveillance system. Hence, these algorithms have not been considered for the comparative analysis in this paper. In this paper, firstly, image interpolation algorithms are classified and reviewed; then evaluation and comparison of five image interpolation algorithms are discussed in depth based on the reason that evaluation of image interpolation is essential in the aspect of designing a real-time video surveillance system. Analysis results of the five interpolation algorithms are summarized and presented. II.I MAGE S CALING Image scaling is obtained by performing interpolation over one or two directions to approximate a pixel’s colour and intensity based on the values at neighbouring

图像放大算法总结及MATLAB源程序

1,插值算法(3种): (1)最邻近插值(近邻取样法): 最邻近插值的的思想很简单,就是把这个非整数坐标作一个四舍五入,取最近的整数点坐标处的点的颜色。可见,最邻近插值简单且直观,速度也最快,但得到的图像质量不高。 最邻近插值法的MATLAB源代码为: A=imread('F:\lena.jpg');%读取图像信息 imshow(A);%显示原图 title('原图128*128'); Row=size(A,1);Col=size(A,2);%图像行数和列数 nn=8;%放大倍数 m=round(nn*Row);%求出变换后的坐标的最大值 n=round(nn*Col); B=zeros(m,n,3);%定义变换后的图像 for i=1:m for j=1:n x=round(i/nn);y=round(j/nn);%最小临近法对图像进行插值 if x==0x=1;end if y==0y=1;end if x>Row x=Row;end if y>Col y=Col;end B(i,j,:)=A(x,y,:); end end B=uint8(B);%将矩阵转换成8位无符号整数 figure; imshow(B); title('最邻近插值法放大8倍1024*1024'); 运行程序后,原图如图1所示:

图1 用最邻近插值法放大4倍后的图如图2所示: 图2 (2)双线性内插值法: 在双线性内插值法中,对于一个目的像素,设置坐标通过反向变换得到的浮点坐标为(i+u,j+v),其中i、j均为非负整数,u、v为[0,1)区间的浮点数,则这个像素得值f(i+u,j+v)可由原图像中坐标为(i,j)、(i+1,j)、(i,j+1)、(i+1,j+1)所对应的周围四个像素的值决定,即:f(i+u,j+v)=(1-u)(1-v)f(i,j)+(1-u)vf(i,j+1)+u(1-v)f(i+1,j)+uvf(i+1,j+1) 其中f(i,j)表示源图像(i,j)处的的像素值,以此类推。 这就是双线性内插值法。双线性内插值法计算量大,但缩放后图像质量高,不会出现像素值不连续的的情况。由于双线性插值具有低通滤波器的性质,使高频分量受损,所以可能会使图像轮廓在一定程度上变得模糊。 在MATLAB中,可用其自带的函数imresize()来实现双线性内插值算法。

图像缩放的双线性内插值算法的原理解析

图像缩放的双线性内插值算法的原理解析 图像的缩放很好理解,就是图像的放大和缩小。传统的绘画工具中,有一种叫做“放大尺”的绘画工具,画家常用它来放大图画。当然,在计算机上,我们不再需要用放大尺去放大或缩小图像了,把这个工作交给程序来完成就可以了。下面就来讲讲计算机怎么来放大缩小图象;在本文中,我们所说的图像都是指点阵图,也就是用一个像素矩阵来描述图像的方法,对于另一种图像:用函数来描述图像的矢量图,不在本文讨论之列。 越是简单的模型越适合用来举例子,我们就举个简单的图像:3X3 的256级灰度图,也就是高为3个象素,宽也是3个象素的图像,每个象素的取值可以是0-255,代表该像素的亮度,255代表最亮,也就是白色,0代表最暗,即黑色。假如图像的象素矩阵如下图所示(这个原始图把它叫做源图,Source): 234 38 22 67 44 12 89 65 63 这个矩阵中,元素坐标(x,y)是这样确定的,x从左到右,从0开始,y从上到下,也是从零开始,这是图象处理中最常用的坐标系,就是这样一个坐标: ---------------------->X | | | | | ∨Y 如果想把这副图放大为4X4大小的图像,那么该怎么做呢?那么第一步肯定想到的是先把4X4的矩阵先画出来再说,好了矩阵画出来了,如下所示,当然,矩阵的每个像素都是未知数,等待着我们去填充(这个将要被填充的图的叫做目标图,Destination): ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 然后要往这个空的矩阵里面填值了,要填的值从哪里来来呢?是从源图中来,好,先填写目标图最左上角的象素,坐标为(0,0),那么该坐标对应源图中的坐标可以由如下公式得出:

图像放大算法

一、图像放大算法 图像放大有许多算法,其关键在于对未知像素使用何种插值方式。以下我们将具体分析几种常见的算法,然后从放大后的图像是否存在色彩失真,图像的细节是否得到较好的保存,放大过程所需时间是否分配合理等多方面来比较它们的优劣。 当把一个小图像放大的时候,比如放大400%,我们可以首先依据原来的相邻4个像素点的色彩值,按照放大倍数找到新的ABCD像素点的位置并进行对应的填充,但是它们之间存在的大量的像素点,比如p点的色彩值却是不可知的,需要进行估算。 图1-原始图像的相邻4个像素点分布图 图2-图像放大4倍后已知像素分布图 1、最临近点插值算法(Nearest Neighbor)

最邻近点插值算法是最简单也是速度最快的一种算法,其做法是將放大后未知的像素点P,將其位置换算到原始影像上,与原始的邻近的4周像素点A,B,C,D做比较,令P点的像素值等于最靠近的邻近点像素值即可。如上图中的P点,由于最接近D点,所以就直接取P=D。 这种方法会带来明显的失真。在A,B中点处的像素值会突然出现一个跳跃,这就是出现马赛克和锯齿等明显走样的原因。最临近插值法唯一的优点就是速度快。 2、双线性插值算法(Bilinear Interpolation) 其做法是將放大后未知的像素点P,將其位置换算到原始影像上,计算的四個像素点A,B,C,D对P点的影响(越靠近P点取值越大,表明影响也越大),其示意图如下。 图3-双线性插值算法示意图 其具体的算法分三步: 第一步插值计算出AB两点对P点的影响得到e点的值。 图4-线性插值算法求值示意图

对线性插值的理解是这样的,对于AB两像素点之间的其它像素点的色彩值,认定为直线变化的,要求e点处的值,只需要找到对应位置直线上的点即可。换句话说,A,B间任意一点的值只跟A,B有关。 第二步,插值计算出CD两点对P点的影响得到f点的值。 第三步,插值计算出ef两点对P点的影响值。 双线性插值算法由于插值的结果是连续的,所以视觉上会比最邻近点插值算法要好一些,不过运算速度稍微要慢一点,如果讲究速度,是一个不错的折衷。 3、双立方插值算法(Bicubic Interpolation) 双立方插值算法与双线性插值算法类似,对于放大后未知的像素点P,将对其影响的范围扩大到邻近的16个像素点,依据对P点的远近影响进行插值计算,因P点的像素值信息来自16个邻近点,所以可得到较细致的影像,不过速度比较慢。

设置好分辨率,扫描出好照片

设置好分辨率,扫描出好照片 一、普通设置法 扫描分辨率选择的大小,不仅对最终的图象质量有影响,而且在很大程度上它还决定了文件尺寸的大小。一般的扫描应用软件都可以在预览原始样稿时自动计算出文件尺寸的大小,如何在大小和质量方面得到兼容就是我们需要努力保证的。通常黑白图象文件的计算公式是:水平尺寸x垂直尺寸x(扫描分辨率)2/8;彩色图象文件的计算公式是:水平尺寸x垂直尺寸x(扫描分辨率)2/3。知道了这些计算公式以后,这时候我们首先要做的是确定输出幅面有多大,是A4还是A3;接着要确定打印的分辨率是多少,是360、720还是1440dpi;然后是测量要扫描部分的大小。在确定了这三方面参数后,就可以通过计算确定扫描分辨率了。有人会问:“要这么麻烦干嘛,随便用一个分辨率扫描,再用图像处理软件改变分辨率不就行了吗?”其实不然,我们应该知道:图像处理软件无法凭空再生出扫描时所损失的细节。还有一个问题需要澄清,喷墨打印机的有效彩色分辨率究竟是多少?720dpi是指各种颜色墨滴的输出精度,而彩色打印机需要用多个墨滴的组合来表现一个彩色像素,一般来说,我们可以将其最高分辨率除以4来估计有效精度。举个实实在在的例子,比如:如果要将一幅4英寸×5英寸的照片用720dpi的打印机输出到A4幅面的照片纸上(一般在A4照片纸上图像所占的面积为7.5英寸×11英寸)。扫描分辨率的计算方法如下: 最终打印稿的像素数:(7.5×720/4)×(11×720/4)=1350dpi×1980dpi

扫描分辨率设定为:(1350/4)×(1980/5)=338dpi×396dpi 可见,用400dpi左右的分辨率来扫描,其结果基本上可以撑满A4照片纸。从上面的计算过程,细心的读者也许会发现原始图像越小、打印分辨率和输出幅面越大,所需的扫描分辨率也越大,这就是为什么底片扫描仪要求的光学分辨率很高的原因。而反过来,通过上述计算的逆过程也可以估算出最终输出结果的幅面以便确定所需的打印纸大小。 通过上面的叙述,我们可以总结出这样一个计算公式,那就是扫描分辨率=放大系数x打印分辨率/N,其中N代表打印机的喷头数,根据这个公式,我们知道扫描仪的分辨率越高得到的扫描效果是越好,但是考虑到如果超过打印机的分辨率,效果再好的图象也不可能打印出来,仅仅是多增加了图象文件的尺寸,没有实际的价值,因此选择适当的扫描分辨率也就显得很重要了。 二、特殊设置法 除了按照上面的基本公式来设置扫描分辨率外,大家也可以根据不同的要求,来按照下面的原则来设置扫描分辨率: 1、使用软件分辨率来扫描 一般来说,扫描仪的分辨率可以分为光学分辨率和软件分辨率这两种,要是采用大于光学分辨率的分辨率来扫描的话,就必须通过设置软件分辨率的方法来增加像素,不过增加的这种像素对提高最终输出的分辨率没有任何帮助,即使可以使输出图象看起来更加柔和,但由于这种设置扫描分辨率的方法缺少对比度和锐度,因此在扫描普通的照片或者幻灯片时,一般都不会采用这种设置分辨率的方法的。 2、使用不高于原件的分辨率来扫描

相关文档
最新文档