前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >几何变换--图像裁剪

几何变换--图像裁剪

作者头像
FPGA开源工作室
发布于 2019-10-29 03:53:56
发布于 2019-10-29 03:53:56
1.6K0
举报
文章被收录于专栏:FPGA开源工作室FPGA开源工作室

基于FPGA图像的裁剪

1 几何变换介绍

几何变换:从新规定图像内像素的几何排列方式。

几何变换包括:缩放、旋转、平移等。这些变换一般用于校正图像处理引起的空间失真,或者通过将图像配准到一个预定义的坐标系统中用于规范化该图像(例如,将一幅航拍图像配准到一个特定的地图投影中,或者在立体视觉中对两幅互相配对的图像进行整形,使得行与外极限)。

与点操作和局部滤波器不同,输出图像通常来说并不是来自同一个输入像素位置。这就意味着需要一些形式的缓存来处理由于几何形状改变引起的延迟。最简单的方法是将输入图像或输出图像(或两者)保存在一个帧缓存中。大部分的几何变换不太容易用数据同时实现输入和输出。

输入和输出像素间的映射可以用两种不同的方法。

图1 几何变换的前向和逆向映射

前向映射:

前向映射将输出像素坐标(u,v)定义为输入像素坐标的一个函数mf

前向映射适用于处理数据流输入,例如,来自一个摄像头,因为它为每个输入像素指定其像素值会映射到输出的什么地方。

逆向映射:

逆向映射定义输入像素坐标为输出坐标的一个函数mr

逆向映射更适用于产生数据流输出,例如图像数据流输出到显示屏,因为对于每一个输出像素,逆向映射指定了像素值是来自输入图像的什么位置。

图2 几何变换的基本结构左:前向映射右:逆向映射

2 几何变换--裁剪

2.1裁剪原理

前向映射将原图像的像素坐标作为自变量,以某个变换函数得出目标图像的像素坐标,裁剪变换的变换函数如式1,Q为输出,I为输入,x和y为原图像坐标,t、b、l、r为四个边界,从某种角度来看,它实际上一种非线性滤波器,保留输入坐标的同时变换输出色彩。

所以,实现一个裁剪模块实际上是要通过给定的边界信息来确定可以输出的一个区域,然后根据是否在这个区域内来确定输出。

2.2 matlab实现裁剪

close all; %关闭当前所有图形窗口,清空工作空间变量,清除工作空间所有变量

clear all;

clc;

[A,map]=imread('peppers.png'); %读入图像

rect=[75 68 130 112]; %定义剪切区域

X1=imcrop(A,rect); %进行图像剪切

set(0,'defaultFigurePosition',[100,100,1000,500]);%修改图形图像位置的默认设置

set(0,'defaultFigureColor',[1 1 1])%修改图形背景颜色的设置

subplot(121),imshow(A); %显示原图像

rectangle('Position',rect,'LineWidth',2,'EdgeColor','r') %显示图像剪切区域

subplot(122),imshow(X1); %显示剪切的图像

图3 matlab实现裁剪

2.3 FPGA实现裁剪

1. `timescale 1ns / 1ps

2.

3. module corp#(

4. parameter DW = 8,//sigle lane 8bit

5. parameter IW = 1920,

6. parameter LEFT = 100,

7. parameter RIGHT = 700,

8. parameter TOP = 100,

9. parameter BUTTOM = 500

10. )

11. (

12. input pixelclk,

13. input reset_n,

14. input i_hsync,

15. input i_vsync,

16. input i_de,

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

18. input [11:0] hcount,

19. input [11:0] vcount,

20. output o_hsync,

21. output o_vsync,

22. output o_de,

23. output [DW*3-1:0] dout

24. );

25.

26. reg [DW*3-1:0] dout_r;

27. reg hsync_r;

28. reg vsync_r;

29. reg de_r;

30.

31. //Sequence alignment

32. always @(posedge pixelclk) begin

33. hsync_r <= i_hsync;

34. vsync_r <= i_vsync;

35. de_r <= i_de;

36. end

37.

38. assign o_hsync = hsync_r;

39. assign o_vsync = vsync_r;

40. assign o_de = de_r;

41. assign dout = dout_r;

42.

43. always @(posedge pixelclk or negedge reset_n) begin

44. if(!reset_n)

45. dout_r <= 0;

46. else if( hcount >LEFT && hcount < RIGHT && vcount > TOP && vcount <BUTTOM)// Crop Area

47. dout_r <= din;

48. else

49. dout_r <= 0;//background color

50. end

51.

52.

53. endmodule

实现结果:

图4 FPGA实现裁剪

几何变换中裁剪也是最简单的一个,我们可以通过裁剪保留我们最感兴趣的部分。

点“图像处理往期精彩”了解更多

基于FPGA的车牌字符提取

一种MXN维的手写字符识别算法

基于HDMI的视频流输入输出实验

一种简单的基于FPGA车牌定位算法的实现

基于FPGA的数字识别三

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-04-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FPGA开源工作室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
扫盲丨关于区块链你需要了解的所有概念
作者 Nicky Woolf 编译 Mika 我们经常听到很多关于“比特币”和“区块链”的信息。这究竟是怎么一回事呢? 让我们从基础开始。比特币是一种加密货币,即资产的数字版本。2017年,它的价值
CDA数据分析师
2018/03/20
1.2K0
扫盲丨关于区块链你需要了解的所有概念
区块链快速参考(一)
这是 区块链快速参考,一本旨在全方位介绍新手进入区块链世界的书籍。它带你进入令人激动的区块链技术世界,旨在为那些希望完善其对区块链生态系统各支柱的现有知识的人提供帮助。
ApacheCN_飞龙
2024/05/24
4530
区块链快速参考(一)
2017年区块链技术与加密货币市场:回顾与展望
作者:杨哲豪 责编:CSDN景琦 杨哲豪,柏链科技高级架构师、区块链高级架构师,中关村区块链产业联盟高级研究院,世纪互联的产品经理。目前在北京世纪互联区块链研发中心工作,从事区块链方面的市场分
区块链大本营
2018/05/10
9790
银行只是开始:区块链将颠覆这42个行业!
‍尊敬的各位点滴科技资讯读者,近期本公众号将邀请成都链安科技创始人兼CEO杨霞教授就区块链行业安全进行解读,对EOS、以太坊、交易所等项目的安全进行分析,欢迎有兴趣的读者添加群秘微信(见文末)或19921690890加入学习群!‍
点滴科技资讯
2018/07/30
3.6K0
银行只是开始:区块链将颠覆这42个行业!
关于区块链你想知道又羞于提问的那些事
让我们从基础讲起。首先,比特币是一种加密货币 —— 数字化的财富,就像黄金一样。从2017年,其价值开始飙升。
张张张我是张
2018/03/21
2K0
关于区块链你想知道又羞于提问的那些事
1分钟链圈|2019年区块链市场将高速增长;《信任机器:区块链的故事》已在纽约上映
这里是10月29日的每日1句话新闻晚报,只需1分钟,看遍全球最热、最新的区块链新闻。
区块链大本营
2018/12/05
4580
区块链 10 年低谷与荣光
2009 年 1 月 3 日,全球金融危机加剧了世界经济不平等。就在这一年,一个名叫中本聪的神秘人物发行了一种名为“比特币”的虚拟货币。该货币在被他称为“工作证明链”的机制上运行。
区块链大本营
2020/02/21
6270
区块链 10 年低谷与荣光
kinmall解读区块链去中心化与中心化遇到问题
随着加密货币的价格持续下跌,2018年全球区块链社区以惨淡结果收场。对某些人来说,这是一个进行反思的机会,一个告别炒作的机会,对我们过去几年所取得的成就进行真正的评估。但这可能只是事物的乐观一面:或许,现在是时候对分布式账本技术未来的发展方向,以及我们在这上面所花费的时间是否有价值进行回顾和评估了。
金猫kinmall
2019/01/07
4750
区块链技术开发公司谈区块链技术的普及
  区块链是随着科技发展而广受关注的技术之一。它有着几乎人们之于高科技的所有期待:去中心化、安全、客观。本文作者埃里克·皮西尼是德勒咨询有限公司的负责人,也是全球区块链和密码货币团队的共同领导人,他在“2018: The Year We Democratize Blockchain”一文中描绘了2018年区块链将发生的六大变化。  
YY谈网络那些事
2018/05/29
1.3K0
赤链——区块链底层技术革命
区块链至今为止发展了近10年的时间,尤其这两年得到全球范围内无论政府还是银行或者商业等等广泛认同,并大力推动区块链的应用和落地。目前以比特币和以太坊为代表的公有区块链技术得到快速的发展,作为新的技术应用这两种技术也逐步暴露出先天的缺陷:易被攻击、交易并发量瓶颈导致交易拥塞,代币通过挖矿方式产生而带来资源的严重浪费,同时还因为矿工联盟的壮大导致利益分配冲突从而产生认为的操控现象导致出现区块链分叉,并在未来出现持续的分叉导致区块链逐步产生更为复杂和严重的源于技术和矿工联盟利益的大规模的矛盾,从而导致区块链的崩溃
企鹅号小编
2018/03/05
2.1K0
赤链——区块链底层技术革命
Waves Enterprise如何通过前瞻布局混合链在企业级区块链市场里脱颖而出
如果把公有链比喻成连接各省市的国道,私有链像是城市内部环线,那么可以说混合链就是高速公路网。
Waves中文社区
2020/12/21
5140
Waves Enterprise如何通过前瞻布局混合链在企业级区块链市场里脱颖而出
区块链分类
所谓公有就是完全对外开放,任何人都可以任意使用,没有权限的限定,也没有身份认证之类,不但可以任意参与使用,而且发生的所有数据都可以任意查看,完全公开透明。比特币就是一个公有链网络系统,大家在使用比特币系统的时候,只需要下载相应的软件客户端,创建钱包地址、转账交易、挖矿等操作,这些功能都可以自由使用。公有链系统由于完全没有第三方管理,因此依靠的就是一组实现预定的规则,这个规则要确保每个参与者在不信任的网络中能够发起可靠的交易事务。通常来说,凡是需要公众参与,需要最大限度保证数据公开透明的系统,都适用公有链,比如数字货币系统、众筹系统、金融交易系统等。
你瞧可爱的
2021/01/28
9360
区块链分类
区块链安全技术:企业应用区块链技术时如何考量?
加密货币、区块链概念在 2017 年下半年以及 2018 年的前三周,都获得了更广泛的公众关注。也许从技术发展的本身来看,区块链技术在过去的一年中,并没有特别显著的发展,但是资本圈和公众的关注热度仍然成为该技术继续成长的助力。 当前的网络犯罪行为日益复杂,金融交易数据、健康医疗记录、个人身份信息和信息资产,都是黑客能够通过相应的攻击(DDoS,勒索等)进行获利的重要资产来源。而这项全新的区块链技术是否会成为网络安全的助力还是障碍?去中心化的、数字化的公开账本,这可能帮助增强平台的网络防御能力吗?应用共识机制
FB客服
2018/02/07
3.4K0
区块链安全技术:企业应用区块链技术时如何考量?
开源如何推动区块链创新
区块链是一个去中心化的网络,其关键优势是通过完全透明的方式快速准确地传递信息。被广泛使用的区块链应用背后的代码是开源的,这也是用户在进行交易时相互信任的原因之一。本文将探讨开源与区块链技术的关系以及展示一些开源区块链项目。
TARS基金会
2022/08/31
6760
开源如何推动区块链创新
国际前沿-区块链技术将如何颠覆传媒业的商业版图?
本文探讨了区块链技术在传媒领域的应用,包括新闻生产、版权保护、内容分发等方面,并分析了区块链技术在传媒产业的未来发展趋势。
企鹅号小编
2017/12/28
1.9K0
国际前沿-区块链技术将如何颠覆传媒业的商业版图?
17年大盘点:区块链领域常见术语详析
摘要: 以下是区块链领域中的一些常见术语,供有兴趣了解区块链技术的朋友参考。 2、协议分类账(Agreement ledger)是由两方或多方用来协商和达成协议的分布式分类账。 3、Altcoin是“Bitcoin alternative”(比特币的替代品,或着说山寨版)的缩写。目前,大多数Altcoin都是比特币的分叉,通常比特币区块链的工作量证明(POW)算法有一些细微变化。最出名的Altcoin是莱特币。莱特币引入了原始比特币协议的变化,例如减少块生成时间,增加最大货币数量和不同的哈希算法 4、
企鹅号小编
2018/02/05
8430
17年大盘点:区块链领域常见术语详析
比特币、区块链与可信金融|TW洞见
本篇文章来自之前所做的一个访谈,考虑到BlockChain本身是个很容易被误解的问题,为了保障客观,我(下称“叉君”)很荣幸邀请到了比特币交易平台“火币网”、前P2P“积木盒子”的运维架构师(下称“电老虎”)、某私募资金对接平台技术合伙人(下称“白乌鸦”),从互联网、金融、安全多方面的技术背景来聊聊比特币、区块链以及可信金融的各个方面,希望能展示一个更全面的可信金融趋势。 PS:这不是一篇介绍blockchain的文章,学习请翻阅相关paper,并确保读懂了再分享。 1 不断浴火重生的电子货币 近几年比特
ThoughtWorks
2018/04/20
1.1K0
比特币、区块链与可信金融|TW洞见
"别太乐观, 冲破黑暗还很远呀! "
一千个人心中就有一千个哈姆雷特,人们对区块链的认知也各不相同。但大多数人的回答往往是“自互联网以来最重要的技术创新”、“当下许多问题的最佳解决方案”。
区块链大本营
2019/07/19
3940
"别太乐观, 冲破黑暗还很远呀! "
以正确姿势理解区块链技术?
今天在看了一个视频《全球区块链全球生态技术大会》中的腾讯云通过区块链技术实现了一个针对于企业服务的Tbaas区块链基础服务平台。(视频地址:https://time.geekbang.org/dailylesson/detail/100016514),之前因比特币看过区块链这方面的技术,大概了解了一下区块链技术的中心思想。今天看一下我们目前区块链技术的落地方案。
袁新栋-jeff.yuan
2020/08/26
6320
【区块链】以太坊区块链技术初探 顶
        2、【以太坊源码】以太坊源码研究系列(以太坊模拟机、挖矿、点对点网络库、节点发现、合约代码传输、加密签名等)
linapex
2019/03/26
2.8K0
【区块链】以太坊区块链技术初探
                                                    顶
推荐阅读
相关推荐
扫盲丨关于区块链你需要了解的所有概念
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档