• 生活中图像处理的一个小应用上周六做了一个频闪实验来研究物体的运动,但是由于频闪图片的特点必须暗室拍摄才有效果,由于一些原因图片有些地方过曝形成死白,而另一些地方由于光太少曝光太少,导致了黑乎乎的一片...

    生活中图像处理的一个小应用

    上周六做了一个频闪实验来研究物体的运动,但是由于频闪图片的特点必须在暗室拍摄才有效果,由于一些原因图片有些地方过曝形成死白,而另一些地方由于光太少曝光太少,导致了黑乎乎的一片。最终结果就是,很难看到物体的运动轨迹。
    上图
    这里写图片描述
    这张图乍眼一看几乎什么都看不出来,跟别说取物体的坐标点了。

    当时就想到了刚学了点数字图像处理,于是就想着怎么把这个图像处理一下让他的物体细节更加清晰,于是我尝试了很多方法。

    第一个想到的是把图像变成灰色图像然后再把它选择合适的值给二值化,后来发现结果不尽如人意,因为左边的图像亮度偏高,亮度分布复杂,很容易要么丢失白线(物体上的标志)要么白线跟其他的混为一块白色,进过多次试验发现没有能把它分分开的灰度值。

    试了很多次处理方法,终于发现了一个效果比较好的方法直方图均衡化
    先介绍一下直方图均衡化
    直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。直方图均衡化就是把给定图像的直方图分布改变成“均匀”分布直方图分布。
      缺点:
      1)变换后图像的灰度级减少,某些细节消失;
      2)某些图像,如直方图有高峰,经处理后对比度不自然的过分增强。
    最后反思一下,发现这种方法确实合适,我们拍的图在灰度值较大的的区域分布得很密集,直方图均衡化把他们分开,那么很多变化就突出了,就好比示波器把横坐标时间和纵坐标幅值放大来观察波形一样。
    经过直方图均衡化的效果如图

    matlab代码如下
    I=imread('DSC08020.jpg');
    I=rgb2gray(I);
    figure;
    subplot(2,2,1);
    imshow(I);
    subplot(2,2,2);
    imhist(I);
    I1=histeq(I);
    figure;
    subplot(2,2,1);
    imshow(I1);
    subplot(2,2,2);
    imhist(I1);
    imwrite(I1,'result.jpg');%保存到m文件的目录下


    这里写图片描述
    这样就能很清晰的看到,物体的运动了。



    做到这里我还是不满意,于是打算使用图像处理检测到白线。但是无论我用什么边缘检测又或者hough变换发现效果都很差,主要是检测到很多非白线的东西,根本没法判断。
    套用模式识别的知识,在这个特征空间中这个是很难分开的(直线 、边缘),或者这种算法不可分。
    这次就到这里关于图像处理我只懂皮毛,希望能够跟深入的了解图像处理的知识。

    展开全文
  • 前言:这是听完学院有关图像处理之后的一些感想,将技术用现实当中。 关键词:图像处理,交通 主体: 在校学习期间,学院为了让新生接触更多领域,了解前沿科技,设立新生研讨课。其中,有一节课专门介绍了...

    电子科技大学 格拉斯哥学院 2017贺宸 ,同组同学 无

    前言:这是在听完学院有关图像处理之后的一些感想,将技术用在现实当中。

    关键词:图像处理,交通

    主体:
    在校学习期间,学院为了让新生接触更多领域,了解前沿科技,设立新生研讨课。其中,有一节课专门介绍了图像处理。
    图像处理(image processing),是用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。图像处理一般指数字图像处理。数字图像是指用工业相机、摄像机、扫描仪等设备经过拍摄得到的一个大的二维数组,该数组的元素称为像素,其值称为灰度值。图像处理技术一般包括图像压缩,增强和复原,匹配、描述和识别3个部分。
    在讲座上,老师展示了几个图像处理技术在实际生活中的运用。第一个展示是一张很高像素的照片,再利用图像处理技术之后,一些关键的像素被选择,这部分被选择的像素重新组合,变成了一张缩略图——就是一张缩小版的原图。这是将图像处理技术用于生成预览图,在浏览一些大图的时候,用户可以根据预览图,选择是否查看原图。这种应用可以为用户节省流量。还有一个运用,是在小车,无人飞行器上装载摄像头,利用图像处理技术处理摄像头拍摄的画面。就可以得到稳定的图像。若有两个摄像头,在处理之后,两张图像可以较好的拼接在一起,晃动的图像可以通过拼接,使得拍摄物体的主体部分稳定不晃动且无明显拼接痕迹。在演示视频中,由无人飞行器拍摄的主楼,在屏幕上稳定的显示了出来。在拍摄体积较大的物体时,一个摄像设备无法完整的记录下影像,可以用几台小摄像设备,利用图像处理的技术,得到完整的像。
    我觉得,这种技术可以运用于道路监控。我父亲是一位警察,就我故乡的情况来看,目前城市中的监控大都是在交通要道上设立摄像头,对往来车辆监控。监控系统发展至今,其拍摄画面像素非常高,图像里大大小小的车牌,经过放大后,上面的数字和字母可以看的非常清楚。这种系统固然优秀,但是,在有些偏远地区,或者是在高速上,很难做到在很长的一段道路上设立监控摄像头,高成本低收益。可是,当高速公路上出现拥挤情况时,警察也非常需要实时的画面,以便突发事件发生后采取应对措施。在这种情况下,无人飞行器和图像处理技术可以起到至关重要的作用。高速公路上,拥挤地段的位置和地点都是不确定,随时都会发生变化的。在警署指挥中心的人员,可以利用无人机,拍摄现场的实时画面。经过图像处理技术,将拍摄到高分辨率的图像简单加工,变成较为模糊的图像,通过网络发送至指挥中心的系统里。经过加工的低分辨率视频不会使用太多流量,当需要看到高清画面,如查看车牌,分析纠纷,界定责任的时候,可以查看原录像。另外,如需要一整段公路的交通情况,可以将几台摄像机拍摄的图像进行处理,合并,得到一个整体的路段情况。
    During the school study period, the college set up a new seminar for the new students to contact more fields, understand cutting-edge technology. Among them, there is a class devoted to image processing. Image processing is a technique of analyzing an image with a computer to achieve a desired result. Also known as image processing. Image processing generally refers to digital image processing. A digital image is a large two-dimensional array taken with an industrial camera, camera, scanner, etc. The elements of the array are called pixels and their values are called gray values. Image processing techniques generally include image compression, enhancement and restoration, matching, description and recognition of three parts. In the lecture, the teacher showed the application of several image processing techniques in real life. The first display is a very high-resolution photo. After using image processing technology, some key pixels are selected. This part of the selected pixels is recombined into a thumbnail - a reduced version. Original picture. This is to use image processing technology to generate preview images. When browsing some large images, users can choose whether to view the original image according to the preview image. This kind of application can save traffic for users. Another application is to load a camera on a car or an unmanned aerial vehicle, and use image processing technology to process the picture taken by the camera. A stable image can be obtained. If there are two cameras, after processing, the two images can be better spliced ​​together, and the swaying images can be spliced so that the main part of the object is stable without shaking and no obvious splicing marks. In the demo video, the main building taken by the unmanned aerial vehicle is displayed on the screen stably. When shooting a large object, a camera device cannot record the image completely. You can use several small camera devices to obtain a complete image by using image processing technology. I think this technology can be applied to road monitoring. My father is a policeman. As far as the situation in my hometown is concerned, most of the current monitoring in the city is to set up a camera on the main road to monitor the traffic. Since the development of the monitoring system, the pixels of the shooting screen are very high. The large and small license plates in the image can be seen clearly after the enlarged numbers and letters. This kind of system is excellent, but in some remote areas, or at high speeds, it is difficult to set up surveillance cameras on a long road, high cost and low profit. However, when congestion occurs on the highway, the police also need a real-time picture to take countermeasures after an emergency. In this case, unmanned aerial vehicles and image processing techniques can play a crucial role. On the highway, the location and location of the crowded areas are uncertain and will change at any time. The personnel at the police command center can use the drone to take a live view of the scene. Through the image processing technology, the high-resolution image is simply processed into a more blurred image and sent to the command center system via the network. Processed low-resolution video does not use too much traffic. When you need to see high-definition images, such as viewing license plates, analyzing disputes, and defining responsibilities, you can view the original video. In addition, if you need a whole road traffic situation, you can process and combine the images taken by several cameras to get an overall road segment.

    结语:
    这是个人的一些畅想,未经过学术性的调研。

    展开全文
  • 航天和航空技术方面的应用数字图像处理技术航天和航空技术方面的应用,除了JPL对月球、火星照片的处理之外,另一方面的应用飞机遥感和卫星遥感技术。许多国家每天派出很多侦察飞机对地球上有兴趣的地...

    数字图像处理应用领域

    图像是人类获取和交换信息的主要来源,因此,图像处理的应用领域必然涉及到人类生活和工作的方方面面。随着人类活动范围的不断扩大,图像处理的应用领域也将随之不断扩大。

    1)航天和航空方面

    航天和航空技术方面的应用数字图像处理技术在航天和航空技术方面的应用,除了JPL对月球、火星照片的处理之外,另一方面的应用是在飞机遥感和卫星遥感技术中。许多国家每天派出很多侦察飞机对地球上有兴趣的地区进行大量的空中摄影。对由此得来的照片进行处理分析,以前需要雇用几千人,而现在改用配备有高级计算机的图像处理系统来判读分析,既节省人力,又加快了速度,还可以从照片中提取人工所不能发现的大量有用情报。从60年代末以来,美国及一些国际组织发射了资源遥感卫星(如LANDSAT系列)和天空实验室(如SKYLAB),由于成像条件受飞行器位置、姿态、环境条件等影响,图像质量总不是很高。因此,以如此昂贵的代价进行简单直观的判读来获取图像是不合算的,而必须采用数字图像处理技术。如LANDSAT系列陆地卫星,采用多波段扫描器(MSS),在900km高空对地球每一个地区以18天为一周期进行扫描成像,其图像分辨率大致相当于地面上十几米或100米左右(如1983年发射的LANDSAT-4,分辨率为30m)。这些图像在空中先处理(数字化,编码)成数字信号存入磁带中,在卫星经过地面站上空时,再高速传送下来,然后由处理中心分析判读。这些图像无论是在成像、存储、传输过程中,还是在判读分析中,都必须采用很多数字图像处理方法。现在世界各国都在利用陆地卫星所获取的图像进行资源调查(如森林调查、海洋泥沙和渔业调查、水资源调查等),灾害检测(如病虫害检测、水火检测、环境污染检测等),资源勘察(如石油勘查、矿产量探测、大型工程地理位置勘探分析等),农业规划(如土壤营养、水份和农作物生长、产量的估算等),城市规划(如地质结构、水源及环境分析等)。中国也陆续开展了以上诸方面的一些实际应用,并获得了良好的效果。在气象预报和对太空其它星球研究方面,数字图像处理技术也发挥了相当大的作用。

    2)生物医学工程方面

    数字图像处理在生物医学工程方面的应用十分广泛,而且很有成效。除了上面介绍的CT技术之外,还有一类是对医用显微图像的处理分析,如红细胞、白细胞分类,染色体分析,癌细胞识别等。此外,在X光肺部图像增晰超声波图像处理心电图分析立体定向放射治疗等医学诊断方面都广泛地应用图像处理技术。

    3)通信工程方面

    当前通信的主要发展方向是声音、文字、图像和数据结合的多媒体通信。具体地讲是将电话、电视和计算机以三网合一的方式在数字通信网上传输。其中以图像通信最为复杂和困难,因图像的数据量十分巨大,如传送彩色电视信号的速率达100Mbit/s以上。要将这样高速率的数据实时传送出去,必须采用编码技术来压缩信息的比特量。在一定意义上讲,编码压缩是这些技术成败的关键。除了已应用较广泛的熵编码、DPCM编码、变换编码外,国内外正在大力开发研究新的编码方法,如分行编码、自适应网络编码、小波变换图像压缩编码等。

    4)工业和工程方面

    在工业和工程领域中图像处理技术有着广泛的应用,如自动装配线中检测零件的质量、并对零件进行分类印刷电路板疵病检查弹性力学照片的应力分析流体力学图片的阻力和升力分析邮政信件的自动分拣,在一些有毒、放射性环境内识别工件及物体的形状和排列状态,先进的设计和制造技术中采用工业视觉等等。其中值得一提的是研制具备视觉、听觉和触觉功能的智能机器人,将会给工农业生产带来新的激励,目前已在工业生产中的喷漆、焊接、装配中得到有效的利用。

    5)军事、公安方面

    在军事方面图像处理和识别主要用于导弹的精确末制导,各种侦察照片的判读,具有图像传输、存储和显示的军事自动化指挥系统,飞机、坦克和军舰模拟训练系统等;公安业务图片的判读分析,指纹识别,人脸鉴别,不完整图片的复原,以及交通监控、事故分析等。目前已投入运行的高速公路不停车自动收费系统中的车辆和车牌的自动识别都是图像处理技术成功应用的例子。

    6)文化艺术方面

    目前这类应用有电视画面的数字编辑,动画的制作,电子图像游戏,纺织工艺品设计,服装设计与制作,发型设计,文物资料照片的复制和修复,运动员动作分析和评分等等,现在已逐渐形成一门新的艺术–计算机美术。

    7)机器人视觉

    机器视觉作为智能机器人的重要感觉器官,主要进行三维景物理解和识别,是目前处于研究之中的开放课题。机器视觉主要用于军事侦察、危险环境的自主机器人邮政、医院和家庭服务的智能机器人,装配线工件识别、定位,太空机器人的自动操作等。

    8)视频和多媒体系统

    目前,电视制作系统广泛使用的图像处理、变换、合成,多媒体系统中静止图像和动态图像的采集、压缩、处理、存贮和传输等。

    9)科学可视化

    图像处理和图形学紧密结合,形成了科学研究各个领域新型的研究工具。

    10)电子商务

    在当前呼声甚高的电子商务中,图像处理技术也大有可为,如身份认证、产品防伪、水印技术等。
    总之,图像处理技术应用领域相当广泛,已在国家安全、经济发展、日常生活中充当越来越重要的角色,对国计民生的作用不可低估。

    展开全文
  • 插值法在图像处理中运用
  • 所谓数字图像处理,是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。20 世纪 50 年代,电子计算机已经发展到一定水平,人们开始...图像处理中,一般输入的是质量低的图像,而输出的是改善质量后的图像,

    所谓数字图像处理,是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。20 世纪 50 年代,电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息,这便是早期的图像处理。早期图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。数字图像处理作为一门学科大约形成于 20 世纪 60 年代初期。图像处理中,一般输入的是质量低的图像,而输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。

    下面维视图像为您简单介绍一下数字图像处理的常用技术方法:

    图像编码压缩:图像编码压缩技术可减少描述图像的数据量(即比特数),以便节省图像传输、处理时间和减少所占用的存储器容量。压缩可以在不失真的前提下获得,也可以在允许的失真条件下进行。编码是压缩技术中最重要的方法,它在图像处理技术中是发展最早且比较成熟的技术。

    图像变换:由于图像阵列很大,直接在空间域中进行处理,涉及计算量很大。因此,往往采用各种图像变换的方法,如傅立叶变换、沃尔什变换、离散余弦变换等间接处理技术,将空间域的处理转换为变换域处理。这样不仅可减少计算量,而且可获得更有效的处理(如傅立叶变换可在频域中进行数字滤波处理)。小波变换这种方式在时域和频域中都具有良好的局部化特性,它在图像处理中也有着广泛而有效的应用。

    图像描述:图像描述是图像识别和理解的必要前提。作为最简单的二值图像可采用其几何特性描述物体的特性,一般图像的描述方法采用二维形状描述,它有边界描述和区域描述两类方法。对于特殊的纹理图像可采用二维纹理特征描述。随着图像处理研究的深入发展,已经开始进行三维物体描述的研究,提出了体积描述、表面描述、广义圆柱体描述等方法。

    图像分割:图像分割是数字图像处理中的关键技术之一。图像分割是将图像中有意义的特征部分提取出来,其有意义的特征如图像中的边缘、区域等,这是进一步进行图像识别、分析和理解的基础。虽然目前已研究出不少边缘提取、区域分割的方法,但还没有一种普遍适用于各种图像的有效方法。因此,对图像分割的研究还在不断深入之中,是目前图像处理中研究的热点之一。

    图像增强和复原:图像增强和复原的目的是为了提高图像的质量,如去除噪声,提高图像的清晰度等。图像增强不考虑图像降质的原因,突出图像中所感兴趣的部分。如强化图像高频分量,可使图像中物体轮廓清晰,细节明显;如强化低频分量可减少图像中噪声影响。图像复原要求对图像降质的原因有一定的了解,一般应根据降质过程建立“降质模型”,再采用某种滤波方法,恢复或重建原来的图像。

    图像分类(识别):图像分类(识别)属于模式识别的范畴,其主要内容是图像经过某些预处理(增强、复原、压缩)后,进行图像分割和特征提取,从而进行判决分类。图像分类常采用经典的模式识别方法,有统计模式分类和句法(结构)模式分类,近年来新发展起来的模糊模式识别和人工神经网络模式分类在图像识别中也越来越受到重视。

    接下来,维视图像再为大家讲讲图像的基本属性有哪些:

    图像的亮度:也称为灰度,它是颜色的明暗变化,常用 0 %~ 100 % ( 由黑到白 ) 表示。以下三幅图是不同亮度对比。

     

    图像的对比度:即画面黑与白的比值,也就是从黑到白的渐变层次。比值越大,从黑到白的渐变层次就越多,从而色彩表现越丰富。以下两幅图是不同对比度下的画面对比。

     

    直方图:表示图像中具有每种灰度级的象素的个数,反映图像中每种灰度出现的频率。图像在计算机中的存储形式,就像是有很多点组成一个矩阵,这些点按照行列整齐排列,每个点上的值就是图像的灰度值,直方图就是每种灰度在这个点矩阵中出现的次数。下图就是一幅图片的灰度直方图:

     

    图像的噪声:就像对于听觉而言,在打电话时对方说话我们有时候会听到很嘈杂的噪声,以至于听不清楚对方在说什么。同样的,对于图像,原本我们可以很清晰的看到一幅图像,但是有时候图像上会有一些我们不需要的图案,使我们无法很清楚的看清一幅图,这就是图像的噪声。

    除了以上我们介绍过的几种常用的数字图像处理技术方法外,一般还有:

    直方图均衡化:通过灰度变换将一幅图像转换为另一幅具有均衡直方图的图像,即在一定灰度范围内具有相同的象素点数的图像的过程。

    图像的加减运算:两幅图像的加减运算,就是将图像对应的存储矩形点列上的灰度值进行加减运算。图像相加可以将一幅图像的内容加到另一幅图像上,可以实现二次曝光,也可一对同一个场景的多幅图像求平均值,这样可以降低噪声。图像相减可以用于运动检测或去除图像中不需要的加性图案。

    常用的去噪方法:主要是采用滤波器对带噪声图像进行滤波处理,如算术平均滤波、中值滤波等。

    随着计算机技术的发展,数字图像处理技术已经深入到我们生活中的方方面面,其中,在娱乐休闲上的应用更是深入人心,如电影特效制作、电脑电子游戏、数码相机、视频播放、数字电视等。维视图像公司研发的XAVIS软件平台和SVS工业智能相机系统等,均包含了丰富的数字图像处理技术和方法,可轻松完成各种数字图像处理任务,为客户的图像处理结果提供专业而可靠的保障。

    展开全文
  •  在图像处理中,卷积操作指的是使用一个卷积核对图像的每个像素进行一系列操作。   卷积核(算子)是用来做图像处理时的矩阵,图像处理时也称为掩膜,是与原图像做运算的参数。卷积核通常是一个四方形的网格结构...
    另一篇好文:http://blog.csdn.net/kuaile20/article/details/17193533
    原文:http://blog.csdn.net/xueyedie1234/article/details/51577495

    一、 什么是卷积?

          在图像处理中,卷积操作指的是使用一个卷积核对图像中的每个像素进行一系列操作。 
          卷积核(算子)是用来做图像处理时的矩阵,图像处理时也称为掩膜,是与原图像做运算的参数。卷积核通常是一个四方形的网格结构(例如3*3的矩阵或像素区域),该区域上每个方格都有一个权重值。 
          使用卷积进行计算时,需要将卷积核的中心放置在要计算的像素上,一次计算核中每个元素和其覆盖的图像像素值的乘积并求和,得到的结构就是该位置的新像素值。 
          以下两个算子中演示了具体的卷积计算过程。


    二、 相关算子

    定义:这里写图片描述 
    这里写图片描述,其中h称为相关核(Kernel). 
             
    步骤:

    • 1)滑动核,使其中心位于输入图像g的(i,j)像素上
    • 2)利用上式求和,得到输出图像的(i,j)像素值
    • 3)充分上面操纵,直到求出输出图像的所有像素值

    【例】 
      原始像素矩阵为: 

    17234101124561218171319258142021215162239

      卷积模板h为: 

    834159672

    计算输出图像的(2,4)元素=1*8+8*1+15*6+7*3+14*5+16*7+13*4+20*9+22*2=585 
    如图所示: 
    这里写图片描述


    三、 卷积算子

    定义:这里写图片描述 
    这里写图片描述

    步骤: 
    - 1)将核围绕中心旋转180度 
    - 2)滑动核,使其中心位于输入图像g的(i,j)像素上 
    - 3)利用上式求和,得到输出图像的(i,j)像素值 
    - 4)充分上面操纵,直到求出输出图像的所有像素值 
    例:计算输出图像的(2,4)元素=1*2+8*9+15*4+7*7+14*5+16*3+13*6+20*1+22*8=575 
    如图所示: 
    这里写图片描述


    四、 边缘效应

          当对图像边缘的进行滤波时,核的一部分会位于图像边缘外面。 
    这里写图片描述 
    常用的策略包括: 
    - 1)使用常数填充:imfilter默认用0填充,这会造成处理后的图像边缘是黑色的。 
    - 2)复制边缘像素:I3 = imfilter(I,h,’replicate’); 
    这里写图片描述


    五、 常用的卷积核及其用途

    • 1)低通滤波器(常用于计算模糊后的效果)
      1/91/91/91/91/91/91/91/91/9

      1/101/101/101/102/101/101/101/101/10

      1/162/161/162/164/162/161/162/161/16
    • 2)高斯滤波器(常用于计算高斯模糊后的效果) 
            高斯模糊的卷积核也是一个正方形的滤波核,其中每个元素通过以下公式计算得出: 
            G(x,y)=12πσ2ex2+y22σ2 
            该公式中σ是标准方差(一般取值为1),x和y分别对应了当前位置到卷积核中心的整数距离。通过这个公式,就可以计算出高斯核中每个位置对应的值。为了保证滤波后的图像不会变暗,需要对高斯核中的权重进行归一化。

    • 3)边缘检测(常用于计算图像边缘或者说梯度值) 

      101040101


    六、 一个例子——使用卷积实现模糊效果

          我们将对下面这张图进行模糊处理: 
    这里写图片描述 
          以下为compute shader中关于卷积处理的代码:

    [numthreads(32,32,1)]
    void Dim_Main (uint3 id : SV_DispatchThreadID)
    {
    
        float sumR = 0;
        float sumG = 0;
        float sumB = 0;
        float sumA = 0;
        for (int i = -1; i <= 1; i++) 
        {
            for (int j = -1; j <= 1; j++) 
            {
                sumR += texBuffer[(id.x+i)*texWidth[0]+(id.y+j)].r * convolutionTempBuffer[(i+1)*3+(j+1)];
                sumG += texBuffer[(id.x+i)*texWidth[0]+(id.y+j)].g * convolutionTempBuffer[(i+1)*3+(j+1)];
                sumB += texBuffer[(id.x+i)*texWidth[0]+(id.y+j)].b * convolutionTempBuffer[(i+1)*3+(j+1)];
                sumA += texBuffer[(id.x+i)*texWidth[0]+(id.y+j)].a * convolutionTempBuffer[(i+1)*3+(j+1)];
            }
        }
    
        texBuffer[id.x*texWidth[0]+id.y].r = sumR;
        texBuffer[id.x*texWidth[0]+id.y].g = sumG;
        texBuffer[id.x*texWidth[0]+id.y].b = sumB;
        texBuffer[id.x*texWidth[0]+id.y].a = sumA;
    
        Result[id.xy] = float4(sumR, sumG, sumB, sumA);
    }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    效果如图所示: 
    这里写图片描述

          图中可以明显的看到左右两边有明显的黑色线条,原图中是没有这样的黑色的,产生这种效果的原因是本文中之前提到过的边缘效应。下面我将修改一部分代码去除边缘效应带来的影响,这里使用的是相邻像素的值方法。 
    代码如下:

    [numthreads(32,32,1)]
    void Dim_Main (uint3 id : SV_DispatchThreadID)
    {
    
        float sumR = 0;
        float sumG = 0;
        float sumB = 0;
        float sumA = 0;
        for (int i = -1; i <= 1; i++) 
        {
            for (int j = -1; j <= 1; j++) 
            {
                if((id.x+i)*texWidth[0]+(id.y+j)>texWidth[0]*texWidth[0]-1)
                {
                    sumR += texBuffer[(id.x+i)*texWidth[0]+(id.y+j)-texWidth[0]].r * convolutionTempBuffer[(i+1)*3+(j+1)];
                    sumG += texBuffer[(id.x+i)*texWidth[0]+(id.y+j)-texWidth[0]].g * convolutionTempBuffer[(i+1)*3+(j+1)];
                    sumB += texBuffer[(id.x+i)*texWidth[0]+(id.y+j)-texWidth[0]].b * convolutionTempBuffer[(i+1)*3+(j+1)];
                    sumA += texBuffer[(id.x+i)*texWidth[0]+(id.y+j)-texWidth[0]].a * convolutionTempBuffer[(i+1)*3+(j+1)];
                }
    
                sumR += texBuffer[(id.x+i)*texWidth[0]+(id.y+j)].r * convolutionTempBuffer[(i+1)*3+(j+1)];
                sumG += texBuffer[(id.x+i)*texWidth[0]+(id.y+j)].g * convolutionTempBuffer[(i+1)*3+(j+1)];
                sumB += texBuffer[(id.x+i)*texWidth[0]+(id.y+j)].b * convolutionTempBuffer[(i+1)*3+(j+1)];
                sumA += texBuffer[(id.x+i)*texWidth[0]+(id.y+j)].a * convolutionTempBuffer[(i+1)*3+(j+1)];
            }
        }
    
        texBuffer[id.x*texWidth[0]+id.y].r = sumR;
        texBuffer[id.x*texWidth[0]+id.y].g = sumG;
        texBuffer[id.x*texWidth[0]+id.y].b = sumB;
        texBuffer[id.x*texWidth[0]+id.y].a = sumA;
    
        Result[id.xy] = float4(sumR, sumG, sumB, sumA);
    }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34

    效果如图所示: 
    这里写图片描述

          可以看到,图中左边的黑色线条已经被滤除,右边也可以采用类似的方法来剔除。实际使用中,也可以根据情况使用纯色来做剔除,这样可以节省部分效率,如下图中我使用的是纯白色来剔除边缘效应。 
    这里写图片描述

    展开全文
  • 卷积的数学意义 卷积(Convolution)是通过两个函数f 和g 生成第三个函数的一种数学算子 卷积的物理意义 卷积信号处理机制用途广泛,其中函数f可看做信号的发生,函数g可看做对...数字图像处理中,比如高斯模糊,
  • 电子科技大学 格拉斯哥学院 2017级 梁宇涵 随着人类正快速的进入了信息时代,计算机技术也因此...这都是图像处理技术的应用计算机功能日渐发达的今日,图像处理技术也慢慢的成为了我们生活中不可或缺的技术。 所...
  • 内含详细代码 医学图像领域不错的入门
  • 什么是数字图像处理?历史、以及它所研究的内容。 说起图像处理,你会想到什么?你是否真的了解这个领域所研究的内容。...图像处理的首次应用是为了改善伦敦和纽约之间海底电缆发送的图片质量,那时就应用了图像...
  • 针对智能交通系统、数字图像处理技术的特点,我们可以着重分析研究数字图像处理技术智能交通系统信息采集、车牌识别、车辆检测与跟踪等多方面的应用。 介绍:图像处理,是指用计算机对图像进行分析,以达到所需...
  • 利用新生研讨课内容对现实生活中问题的应用 2017200506014 王艺凡 家庭安防系统概述  一个完整的家庭安防系统主要包括门禁、报警和监控三大部分。系统的数字图像来源于家庭各个部位布控的监控摄像头。通过...
  • 相信很多时候,当我们看到“卷积”时,总是处于一脸懵逼的状态,不但因为它的本义概念比较难理解,还因为它不同的应用中发挥出的变幻莫测的作用也时常让人迷糊。但这些应用其实本质上都是同一种东西,理解了卷积...
  • 论雷达和图像处理技术解决校园实际问题的应用 ** 闫嘉民 2017200603036 格拉斯哥学院 电子科技大学 文章目录论雷达和图像处理技术解决校园实际问题的应用1.背景2.实际存在的问题和解决方法3.总结 1.背景 随着...
  • 摘要:正所谓学以致用,长期以来的学习过程,我们真正能够将所学到的知识运用生活中的能有多少,我们对课本上那些枯燥的公式虽牢记于心,却不知道它的实际用途。学习了矩阵论以来,虽然知道很多问题的求法,...
  • 数字图像处理是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。图像处理最早出现于 20 世纪 50 年代,当时的电子计算机已经发展到...图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的
  •  % 读入原图像 I = im2double(I); % 转换数据类型为double [M,N] = size(I); % 计算图像面积 figure(1); % 打开新窗口 imshow(I); % 显示原图像 title('原图像'); figure(2); % 打开新窗口 [H,
  • 电子科技大学 格拉斯哥学院 2017级 甘诗语 (一)前言 ...图像处理(image processing)又称为影像处理,是用计算机对图像进行达到所需结果的技术。起源于20世纪20年代,一般为数字图像处理图像处理技术...
  • 数字图像处理技术

    2018-11-25 19:28:31
    数字图像处理技术 所谓数字图像处理,是指利用计算机对图像进行分析、加工、和处理,使其满足视觉、心理或其他要求的技术,主要有去除噪声、增强、复原、分割、提取特征等处理的方法。20 世纪 50 年代,电子计算机...
1 2 3 4 5 ... 20
收藏数 36,701
精华内容 14,680