[原创] 简单入门的 图像处理 整理

5525   2016-6-4 15:00 楼主
说是原创,只是大家都知道的,整理了些,在加了些自己的理解, 如有雷同,乃有缘人,不胜高兴。 1. RGB to Gray 图像处理的 helloworld 公式:Gray = (0.299 * R + 0.587 * G + 0.114 * B) 效果如图: 无论,上位模型,下位 C/ HDL 都比较好实现。 RGB -> Gray 搞定的朋友, 下面也是一样做, RGB<->YUV<->YMCK (YMCK在扫描仪里面用的多) 本帖最后由 5525 于 2016-6-9 07:35 编辑
  • rgb - gray.png
MicroPython中文社区https://micropython.org.cn/forum/  

回复评论 (42)

2. Gama 补正 就是针对,显示器的显示曲线, 在图像输出前进行强化补正, 补正曲线 可以根据自己需要定。经典曲线如图 效果自然是亮化了。 当然,有效照相馆用的高级显示器,会有自动补正,补正到 显示出来的 跟 打印机 打的效果一样。 那个是另外的技术。 本帖最后由 5525 于 2016-6-4 15:05 编辑
  • gama.png
MicroPython中文社区https://micropython.org.cn/forum/  
点赞  2016-6-4 15:03
3. 矩阵处理,滤镜
这个叫法很多,不一一列举了.
具体做法主要两步,


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


第二步:计算
代表性的有,区域乘好 求和,取代原来的点
具体的,计算公式,边界处理,计算区域,取位,各个算法而异。
  • img1.png
  • img2.png
  • img3.png
  • img4.png
MicroPython中文社区https://micropython.org.cn/forum/  
点赞  2016-6-4 15:16
4. 输入设备坏点补正 大家用摄像头,用的比较火。 摄像头也是人做的,生产线上出来的,出来的图像也会有坏点,坏区,如图。 咋办?矫正呗,左右点补正,上下补正,周围补正都可以。 大多这功能都集成在摄像头里面了。 坏太多咋办,放心吧,出厂都测试和矫正过了,坏太多的会从产线上踢下去。 本帖最后由 5525 于 2016-6-4 15:28 编辑
  • bad img.jpg
MicroPython中文社区https://micropython.org.cn/forum/  
点赞  2016-6-4 15:25
5. 图像 放大缩小

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

硬件实现的时候,最好用软件跑跑 看看效果。
跑sim的时候,最好用小图。不然 你有的等了。
  • big small.png
MicroPython中文社区https://micropython.org.cn/forum/  
点赞 (1) 2016-6-4 15:32
6. 图像旋转

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

  • round.png
MicroPython中文社区https://micropython.org.cn/forum/  
点赞  2016-6-4 15:36
7 多图合成 现在有大上设备多了,图像源也多, 如果 多图合一,项目中见到也多。 大都 功能如下。 1. 位置能自由移动 2. 开窗能自由jiequ 3. 层次能自由设定 4. 透过性可调 这里算法到是简单,就是 图像吞吐带宽要求比较高。最大的 有要 3 个独立的 64bit ddr4. 还有声音要同步的话,另外还要把声音的延时 给对好,不然口型不对。 本帖最后由 5525 于 2016-6-4 15:52 编辑
  • img all in one.png
MicroPython中文社区https://micropython.org.cn/forum/  
点赞  2016-6-4 15:44
8 图像直接合成 如图,这个监控里面用的多,合成比较简单,但是 frame buff还是要的, 有些还有把时间 和 地址 信息 坐在里面,加密,再存起来,这个就烦了。 今天脑洞一开,就想起这些了,以后慢慢补充吧 有同行的,请出来 灌水吧 本帖最后由 5525 于 2016-6-4 16:18 编辑
  • Monitor - コピー.png
  • Monitor.png
MicroPython中文社区https://micropython.org.cn/forum/  
点赞  2016-6-4 15:47
9 水平,垂直翻转
如图,
水平翻转:这个比较简单啦,同期延时一行,加个line_buf就可以了
垂直翻转:这个line_buf就够了,同期信号也不要延时,但是要加frame_buf, 外挂DDR或SDRAM
  • h v.png
MicroPython中文社区https://micropython.org.cn/forum/  
点赞  2016-6-4 22:54
10. 高亮处理 这个属于 初中级处理。 要对 1 帧(frame) 的图像,进行信息统计后调节(请看图下面的曲线,随手画的,示意用), 在做乒乓 frame_buf, 乒乓 line_buf 也需要啦 同期信号 不要变,在输出前,根据调节好的信息,对输出的图像进行点点置换即可。 (也可以指定 高亮开窗) 本帖最后由 5525 于 2016-6-5 07:37 编辑
  • cst.jpg
MicroPython中文社区https://micropython.org.cn/forum/  
点赞  2016-6-4 23:15
11. OSD
文字显示,电视台,监控设备 显式显示日期地点,等等


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


电视台的输出有时也带,现在有些电视机也自带文字显示功能,这对电视机要求就高了。
一边要识别说的什么话,一边还要判断电视台输出了文字没有。
  • osd.png
MicroPython中文社区https://micropython.org.cn/forum/  
点赞  2016-6-5 07:45
都是入门的玩意。
点赞  2016-6-5 09:53
引用: fghdzb 发表于 2016-6-5 09:53
都是入门的玩意。

fghdzb,你就当我这是抛砖引玉,
有空给大家总结总结呗。
MicroPython中文社区https://micropython.org.cn/forum/  
点赞  2016-6-5 16:17
引用: 5525 发表于 2016-6-5 16:17
fghdzb,你就当我这是抛砖引玉,
有空给大家总结总结呗。

总结不敢,图像处理入门有点难。要懂数学分析、数值计算、线性代数、复变等等,C++或MATLAB等编程功底要有,具体到各个行业还要有专业知识背景。本人菜鸟,纯属业余爱好。
点赞  2016-6-5 17:03
能灌水,共享些知识就行啊。

数学和Matlab我都比较弱,应用不同,图像处理也不一样
正常客户 说个公式 或 丢个论文 啥的,我们都要看好多天。
最喜欢直接丢软件模型的,我们直接固化,管实现就行。
MicroPython中文社区https://micropython.org.cn/forum/  
点赞  2016-6-5 18:07
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.
这样数据流算起来了。


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


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




  • frame.png
MicroPython中文社区https://micropython.org.cn/forum/  
点赞  2016-6-5 22:40
图像门槛确实高一些。
点赞  2016-6-6 00:10
引用: 南盗 发表于 2016-6-6 00:10
图像门槛确实高一些。

复杂的都是 简单的做出来
把基本的弄好,写精,最重要。
我看好你奥,能动手 能总结。
MicroPython中文社区https://micropython.org.cn/forum/  
点赞  2016-6-6 06:22
感觉好高深,没看懂,应该很NX
点赞  2016-6-6 14:49
引用: ou513 发表于 2016-6-6 14:49
感觉好高深,没看懂,应该很NX

做上一两个你就发现,这些都是入门用的,还好啦,
只是FPGA内部,不涉及输入 输出。
MicroPython中文社区https://micropython.org.cn/forum/  
点赞  2016-6-6 18:29
123下一页
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复