Halcon旋转图片的研究
在Halcon中有两个用于图像旋转的函数:
1,rotate_image
*Image和ImageRotate分别是输入和输出图像 *Phi是输入的旋转度数 *interpolation是内插方式,默认为'constant' rotate_image(Image : ImageRotate : Phi, Interpolation : )
2,affine_trans_image
*开辟一个旋转矩阵
()hom_mat2d_identity (HomMat2D)
*为旋转矩阵赋值
*HomMat2D是输入的旋转矩阵
*Phi是输入的旋转角度
*Px和Py分别是输入的旋转中心x坐标值和y坐标值
*HomMat2DRotate是输出的旋转矩阵
()hom_mat2d_rotate( : : HomMat2D, Phi, Px, Py : HomMat2DRotate)
*实施旋转
*Image : ImageAffinTrans分别为输入输出图像
*HomMat2D是赋值后的旋转矩阵。注意:是赋值后的
*Interpolation是内插方式,默认为'constant'
*AdaptImageSize是bool变量,判断输出图像的大小是否发生变化
()affine_trans_image(Image : ImageAffinTrans : HomMat2D, Interpolation, AdaptImageSize : )
但是,在使用过程中,遇到一个问题。在图片进行旋转之后,图片的四个角都不能很好的保留。我想做的是将图片旋转后,将图片不会缺损,也不会缩小,也就是说原图片旋转后将扩大。然后,我找到一种折中的办法,但是速度很慢,也许达不到要求。还是分享记录一下吧。
optimize_aop ('rotate_image', 'byte', 'no_file', ['file_mode','model','parameters'], ['nil','threshold','false'])
set_system ('parallelize_operators', 'true')//只需开一次
get_image_size(image_ori, Width, Height)
gen_rectangle1(Rectangle,,,Height-,Width-)
get_region_points(Rectangle, Rows, Columns)
***************单通道图像的旋转****************
if(c=)
get_grayval(image_ori,Rows,Columns,Grayval)
HeightL:=
WidthL:=
gen_image_const(Image1, 'byte', WidthL, HeightL)
Rows:=Rows+(HeightL/-Height/)
Columns:=Columns+(WidthL/-Width/)
set_grayval(Image1,Rows,Columns,Grayval)
Phi1:=rad(angle)
vector_angle_to_rigid(HeightL/, WidthL/, , HeightL/, WidthL/, -Phi1, HomMat2D1)
affine_trans_image(Image1, image_dst, HomMat2D1, 'constant', 'false')
**************3通道彩色图像的旋转****************
elseif(c=)
decompose3(image_ori, ImageR, ImageG, ImageB)
get_grayval(ImageR,Rows,Columns,GrayvalR)
get_grayval(ImageG,Rows,Columns,GrayvalG)
get_grayval(ImageB,Rows,Columns,GrayvalB)
HeightL:=
WidthL:=
gen_image_const(Image1, 'byte', WidthL, HeightL)
gen_image_const(Image2, 'byte', WidthL, HeightL)
gen_image_const(Image3, 'byte', WidthL, HeightL)
Rows:=Rows+(HeightL/-Height/)
Columns:=Columns+(WidthL/-Width/)
set_grayval(Image1,Rows,Columns,GrayvalR)
set_grayval(Image2,Rows,Columns,GrayvalG)
set_grayval(Image3,Rows,Columns,GrayvalB)
compose3(Image1, Image2, Image3, MultiChannelImage)
Phi1:=rad(-)
vector_angle_to_rigid(HeightL/, WidthL/, , HeightL/, WidthL/, -Phi1, HomMat2D1)
affine_trans_image(MultiChannelImage, image_dst, HomMat2D1, 'constant', 'false')
endif
Halcon旋转图片的研究的更多相关文章
- ios新手开发——toast提示和旋转图片加载框
不知不觉自学ios已经四个月了,从OC语法到app开发,过程虽然枯燥无味,但是结果还是挺有成就感的,在此分享我的ios开发之路中的小小心得~废话不多说,先上我们今天要实现的效果图: 有过一点做APP经 ...
- Camera图片特效处理综述(Bitmap的Pixels处理、Canvas/paint的drawBitmap处理、旋转图片、裁截图片、播放幻灯片浏览图片<线程固定时间显示一张>)
一种是直接对Bitmap的像素进行操作,如:叠加.边框.怀旧.(高斯)模糊.锐化(拉普拉斯变换). Bitmap.getPixels(srcPixels, 0, width, 0, 0, width, ...
- exif.js 旋转图片
还是那个问题:网上的大胸弟们BB一大堆,没几个给的代码能用的,话不多说,直接上demo: 链接:https://pan.baidu.com/s/1jJ6vnt8 密码:swwm 不要忽视demo中的s ...
- vue 添加旋转图片 修改css transform 值
//点击放大图片并旋转图片 conponents组建 <template> <!-- 过渡动画 --> <transition name="fade ...
- JQ 实现轮播图(3D旋转图片轮播效果)
轮播图效果如下: 代码: <!DOCTYPE html> <html xmlns="/www.w3.org/1999/xhtml"> <head> ...
- java旋转图片
/** * 旋转角度 * @param src 源图片 * @param angel 角度 * @return 目标图片 */ public static BufferedImage rotate(I ...
- 【Thumbnailator】java 使用Thumbnailator实现等比例缩放图片,旋转图片等【转载】
Thumbnailator概述: Thumbnailator是与Java界面流畅的缩略图生成库.它简化了通过提供一个API允许精细的缩略图生成调整生产从现有的图像文件的缩略图和图像对象的过程, ...
- C#图片处理之:旋转图片90度的整数倍
原文:C#图片处理之:旋转图片90度的整数倍 旋转图片90的整数倍那真是太简单了. public static Bitmap KiRotate90(Bitmap img) ...
- canvas旋转图片
canvas旋转图片 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...
随机推荐
- [python] 使用Jieba工具中文分词及文本聚类概念
声明:由于担心CSDN博客丢失,在博客园简单对其进行备份,以后两个地方都会写文章的~感谢CSDN和博客园提供的平台. 前面讲述了很多关于Python爬取本体Ontology.消息盒Inf ...
- 函数式语言(Functional language)简单介绍
函数式语言(functional language)一类程序设计语言,是一种非冯·诺伊曼式的程序设计语言.函数式语言主要成分是原始函数.定义函数和函数型. 函数式语言有:Haskell,Clean,M ...
- centos7.4 分区 格式化
1. 查看磁盘 [root@yzb-centos72-3 ~]# fdisk -l Disk /dev/vda: 32.2 GB, 32212254720 bytes, 62914560 sector ...
- 自动化测试-13.selenium执行JS处理滚动条
前言 selenium并不是万能的,有时候页面上操作无法实现的,这时候就需要借助JS来完成了. 常见场景: 当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到,会报元素不可见的. 这时候 ...
- 【leetcode】443. String Compression
problem 443. String Compression Input ["a","a","b","b"," ...
- 绑定属性 - v-bind
未绑定 <!DOCTYPE html><html><head> <meta charset="utf-8"> <t ...
- 11.python描述符---类的装饰器---@property
描述符1.描述符是什么:描述符本质就是一个新式类,在这个新式类中,至少实现了__get__(),__set__(),__delete__()这三个内置方法中的一个,描述符也被称为描述符协议(1):__ ...
- node day1 login
https://blog.csdn.net/weixin_33901641/article/details/85967847 vue之node.js的简单介绍 http://nodejs.cn/ ht ...
- spring mvc 为什么这么多xml
spring web mvc 处理流程 Architecture web.xml (webapp必要配置) 作用:spring web mvc 使用dispatcherServlet 分发reques ...
- oracle错误汇总1
这是遇见的第一个整个库正常,但某张表查询报错的情况 某张表数据可以查,但一排序查就报错 select * from acct_daily_bak; select * from acct_daily_b ...