图像处理ASIC设计方法 笔记2 图像边界镜像处理

这本书是图像处理方面ASIC与DSP比较,讲了为什么要用ASIC做图像处理,它的特点和适用场景。读到第一章,(计算卷积的)工作窗口位于图像边界时镜像扩展后的情况。

输入仍然是逐行逐列串行图像数据流,但是在工作窗口内部,根据窗口中心像素的坐标判断窗口位于图像边界的具体位置,由此决定窗口中某个寄存器的值是来自原先的移位寄存器,还是来自与之镜像行/列的寄存器。

每行有一个行缓存。许多单独的寄存器,还有多路选择器,组成了工作窗口位于图像边界时镜像扩展的电路图(schematic)。
核心思路是:多路选择器,有许多个,根据中心像素位于第几行,选择对应的选通支路。

补充网上查到的另一个角度的策略:
图像的镜像用FPGA 实现,共有四种模式:
Mode1: 原图,
Mode2:全镜像,
Mode3:水平镜像,
Mode4:垂直镜像。

Verilog实现镜像源码:

bash 复制代码
`timescale1ns / 1ps  


module mirror #(  

parameter DW = 8,  

parameter IW = 1920,  

parameter IH = 1080,  

parameter MODE = 0 //0 1 2 3  

)  

(  

input                        pixelclk,  

input                        reset_n,  

input                        i_hsync,  

input                        i_vsync,  

input                        i_de,  

input  [DW*3-1:0]            din,  

input    [11:0]              hcount,//x  

input    [11:0]              vcount,//y  


output    [11:0]             hcount_t,//xt  

output    [11:0]             vcount_t,//yt  

output                       o_hsync,  

output                       o_vsync,  

output                       o_de,  

output  [DW*3-1:0]           dout  

);  


assign o_hsync = i_hsync;  

assign o_vsync = i_vsync;  

assign o_de    = i_de;  

assign dout    = din;   


assign hcount_t = (MODE == 0)?hcount:  

                            (MODE == 1)?(IW-1)-hcount:  

                            (MODE == 2)?(IW-1)-hcount:hcount;  

assign vcount_t = (MODE == 0)?vcount:  

                                (MODE == 1)?(IH-1)-vcount:  

                                (MODE == 2)?vcount:(IH-1)-vcount;     


endmodule
相关推荐
无忧_wy5 分钟前
Claude-Mem 记忆增强系统新手部署与调用指南
人工智能
Rabitebla5 分钟前
【Linux操作系统】进程篇(十一):进程程序替换——从底层原理到 exec 函数族
linux·服务器·c++·笔记·学习·算法
用户2991422196806 分钟前
AI 日报(2026年11月7日)
人工智能
code2cat24 分钟前
【随笔】KV缓存卸载:逐层预取能藏住多少传输时间
人工智能·缓存·大语言模型
tellmewhoisi30 分钟前
深度学习0:数学知识:正态分布1
人工智能·深度学习·算法
严肃小白兔36 分钟前
MATLAB 优秀开源项目与工具箱推荐:涵盖通信、图像处理、脑机接口等九大领域
图像处理·matlab·信息与通信·开源项目
ting94520001 小时前
Databox MCP Connectors 技术深度解析:协议架构、集成原理与企业落地实践
人工智能·架构
叼烟扛炮1 小时前
[LangChain] 学习笔记(03):打破失忆症——对话机制与上下文管理
java·前端·javascript·笔记·学习·langchain
景煜拾年1 小时前
InnoAI SQL 助手
运维·数据库·笔记·sql
旖旎夜光1 小时前
【C++ 基础入门】类和对象(下):初始化列表、static 成员、友元与内部类
c++·笔记·学习