5525 发表于 2016-6-4 15:00

简单入门的 图像处理 整理

<div class='showpostmsg'> 本帖最后由 5525 于 2016-6-9 07:35 编辑

说是原创,只是大家都知道的,整理了些,在加了些自己的理解,
如有雷同,乃有缘人,不胜高兴。


1. RGB to Gray
图像处理的 helloworld
公式:Gray = (0.299 * R + 0.587 * G + 0.114 * B)
效果如图:
无论,上位模型,下位 C/ HDL 都比较好实现。


RGB -> Gray 搞定的朋友,
下面也是一样做,
RGB<->YUV<->YMCK (YMCK在扫描仪里面用的多)
</div><script>                                        var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;"   style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
                                       
                                        if(parseInt(discuz_uid)==0){
                                                                                                (function($){
                                                        var postHeight = getTextHeight(400);
                                                        $(".showpostmsg").html($(".showpostmsg").html());
                                                        $(".showpostmsg").after(loginstr);
                                                        $(".showpostmsg").css({height:postHeight,overflow:"hidden"});
                                                })(jQuery);
                                        }                </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>

5525 发表于 2016-6-4 15:03

本帖最后由 5525 于 2016-6-4 15:05 编辑

2. Gama 补正

就是针对,显示器的显示曲线, 在图像输出前进行强化补正,
补正曲线 可以根据自己需要定。经典曲线如图

效果自然是亮化了。

当然,有效照相馆用的高级显示器,会有自动补正,补正到 显示出来的 跟 打印机 打的效果一样。
那个是另外的技术。

5525 发表于 2016-6-4 15:16

3. 矩阵处理,滤镜
这个叫法很多,不一一列举了.
具体做法主要两步,


第一步:数据流
,代表矩阵如图,这个具体效果不同,可以有 n 种变化,
具体的参数不懂 也可有 n 种变化


第二步:计算
代表性的有,区域乘好 求和,取代原来的点
具体的,计算公式,边界处理,计算区域,取位,各个算法而异。

5525 发表于 2016-6-4 15:25

本帖最后由 5525 于 2016-6-4 15:28 编辑

4. 输入设备坏点补正

大家用摄像头,用的比较火。
摄像头也是人做的,生产线上出来的,出来的图像也会有坏点,坏区,如图。
咋办?矫正呗,左右点补正,上下补正,周围补正都可以。
大多这功能都集成在摄像头里面了。


坏太多咋办,放心吧,出厂都测试和矫正过了,坏太多的会从产线上踢下去。

5525 发表于 2016-6-4 15:32

5. 图像 放大缩小

缩放,都是矩阵处理的 分支, 这里算法也很多,有兴趣的自己查查
发大比缩小稍微麻烦的是,图像多出来了,要找个地方放好。

硬件实现的时候,最好用软件跑跑 看看效果。
跑sim的时候,最好用小图。不然 你有的等了。

5525 发表于 2016-6-4 15:36

6. 图像旋转

如图,这个自己没亲自搞过,不多说:loveliness:
有同事搞过,有DSP实现的,也有FPGA实现的。

5525 发表于 2016-6-4 15:44

本帖最后由 5525 于 2016-6-4 15:52 编辑

7 多图合成

现在有大上设备多了,图像源也多,
如果 多图合一,项目中见到也多。
大都 功能如下。
1. 位置能自由移动
2. 开窗能自由jiequ
3. 层次能自由设定
4. 透过性可调


这里算法到是简单,就是
图像吞吐带宽要求比较高。最大的 有要 3 个独立的 64bit ddr4.

还有声音要同步的话,另外还要把声音的延时 给对好,不然口型不对。

5525 发表于 2016-6-4 15:47

本帖最后由 5525 于 2016-6-4 16:18 编辑

8 图像直接合成


如图,这个监控里面用的多,合成比较简单,但是 frame buff还是要的,
有些还有把时间 和 地址 信息 坐在里面,加密,再存起来,这个就烦了。


今天脑洞一开,就想起这些了,以后慢慢补充吧
有同行的,请出来 灌水吧{:1_102:}

5525 发表于 2016-6-4 22:54

9 水平,垂直翻转
如图,
水平翻转:这个比较简单啦,同期延时一行,加个line_buf就可以了
垂直翻转:这个line_buf就够了,同期信号也不要延时,但是要加frame_buf, 外挂DDR或SDRAM

5525 发表于 2016-6-4 23:15

本帖最后由 5525 于 2016-6-5 07:37 编辑

10. 高亮处理

这个属于 初中级处理。
要对 1 帧(frame) 的图像,进行信息统计后调节(请看图下面的曲线,随手画的,示意用),
在做乒乓 frame_buf, 乒乓 line_buf 也需要啦
同期信号 不要变,在输出前,根据调节好的信息,对输出的图像进行点点置换即可。

(也可以指定 高亮开窗)

5525 发表于 2016-6-5 07:45

11. OSD
文字显示,电视台,监控设备 显式显示日期地点,等等


如图 
A:这个最好做,单字体英文,背景直接拉白,一个RAM加点电路就搞定了
B:这个比A多个,背景100%透过功能,多点电路
C:显示中文,这个纯硬件做RAM会用太多,load到DRAM里面也可以,随机访问太多了
      有条件用软件做吧
D:多字体,字模就更多了,软件或DSP吧


电视台的输出有时也带,现在有些电视机也自带文字显示功能,这对电视机要求就高了。
一边要识别说的什么话,一边还要判断电视台输出了文字没有。

fghdzb 发表于 2016-6-5 09:53

都是入门的玩意。

5525 发表于 2016-6-5 16:17

fghdzb 发表于 2016-6-5 09:53
都是入门的玩意。

fghdzb,你就当我这是抛砖引玉,{:1_106:}
有空给大家总结总结呗。{:1_129:}

fghdzb 发表于 2016-6-5 17:03

5525 发表于 2016-6-5 16:17
fghdzb,你就当我这是抛砖引玉,
有空给大家总结总结呗。

总结不敢,图像处理入门有点难。要懂数学分析、数值计算、线性代数、复变等等,C++或MATLAB等编程功底要有,具体到各个行业还要有专业知识背景。本人菜鸟,纯属业余爱好。

5525 发表于 2016-6-5 18:07

能灌水,共享些知识就行啊。:kiss::kiss:

数学和Matlab我都比较弱,应用不同,图像处理也不一样
正常客户 说个公式 或 丢个论文 啥的,我们都要看好多天。{:1_96:}{:1_96:}
最喜欢直接丢软件模型的,我们直接固化,管实现就行。{:1_102:}

5525 发表于 2016-6-5 22:40

12. fps变换
fps, 1秒多少帧.
fps的标准很多,现在高速度,大图像,各种影像设备很多。
fps 24, 25, 30, 60i/p, 120, 240 等等很多。
有多fps到少fps变换(如图),也有少fps到多fps.


简单看的话,原理和图像的扩大缩小类似,只是图像的方向是在frame方向上。
所以外置大的,能存几帧的memory是必须的。 FPGA一般都是外置,有些ASIC内置。
帧 memory, 都得标配,memory controller, arbiter, line_buf.
这样数据流算起来了。


计算,有什么资源,用什么算法的话,看具体项目了。


剩下就是图像的同期信号,这个很重要,具体还要看你的输入输出设备。




南盗 发表于 2016-6-6 00:10

图像门槛确实高一些。

5525 发表于 2016-6-6 06:22

南盗 发表于 2016-6-6 00:10
图像门槛确实高一些。

复杂的都是 简单的做出来
把基本的弄好,写精,最重要。
我看好你奥,能动手 能总结。

ou513 发表于 2016-6-6 14:49

感觉好高深,没看懂,应该很NX

5525 发表于 2016-6-6 18:29

ou513 发表于 2016-6-6 14:49
感觉好高深,没看懂,应该很NX

做上一两个你就发现,这些都是入门用的,还好啦,
只是FPGA内部,不涉及输入 输出。
页: [1] 2 3
查看完整版本: 简单入门的 图像处理 整理