在Halcon中有两个用于图像旋转的函数:

1,rotate_image
*Image和ImageRotate分别是输入和输出图像

*Phi是输入的旋转度数

*interpolation是内插方式,默认为’constant’

rotate_image(Image : ImageRotate : Phi, Interpolation : )

2,affine_trans_image
*开辟一个旋转矩阵
(1)hom_mat2d_identity (HomMat2D)
*为旋转矩阵赋值
*HomMat2D是输入的旋转矩阵
*Phi是输入的旋转角度
*Px和Py分别是输入的旋转中心x坐标值和y坐标值
*HomMat2DRotate是输出的旋转矩阵
(2)hom_mat2d_rotate( : : HomMat2D, Phi, Px, Py : HomMat2DRotate)
*实施旋转
*Image : ImageAffinTrans分别为输入输出图像
*HomMat2D是赋值后的旋转矩阵。注意:是赋值后的
*Interpolation是内插方式,默认为’constant’
*AdaptImageSize是bool变量,判断输出图像的大小是否发生变化
(3)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,0,0,Height-1,Width-1)
get_region_points(Rectangle, Rows, Columns)
单通道图像的旋转*
if(c=1)
get_grayval(image_ori,Rows,Columns,Grayval)
HeightL:=3084
WidthL:=3184
gen_image_const(Image1, ‘byte’, WidthL, HeightL)
Rows:=Rows+(HeightL/2-Height/2)
Columns:=Columns+(WidthL/2-Width/2)
set_grayval(Image1,Rows,Columns,Grayval)
Phi1:=rad(angle)
vector_angle_to_rigid(HeightL/2, WidthL/2, 0, HeightL/2, WidthL/2, -Phi1, HomMat2D1)
affine_trans_image(Image1, image_dst, HomMat2D1, ‘constant’, ‘false’)3通道彩色图像的旋转**
elseif(c=3)
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:=3084
WidthL:=3184
gen_image_const(Image1, ‘byte’, WidthL, HeightL)
gen_image_const(Image2, ‘byte’, WidthL, HeightL)
gen_image_const(Image3, ‘byte’, WidthL, HeightL)
Rows:=Rows+(HeightL/2-Height/2)
Columns:=Columns+(WidthL/2-Width/2)
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(-35)
vector_angle_to_rigid(HeightL/2, WidthL/2, 0, HeightL/2, WidthL/2, -Phi1, HomMat2D1)
affine_trans_image(MultiChannelImage, image_dst, HomMat2D1, ‘constant’, ‘false’)

endif

Halcon旋转图片的研究相关推荐

  1. ios新手开发——toast提示和旋转图片加载框

    不知不觉自学ios已经四个月了,从OC语法到app开发,过程虽然枯燥无味,但是结果还是挺有成就感的,在此分享我的ios开发之路中的小小心得~废话不多说,先上我们今天要实现的效果图: 有过一点做APP经 ...

  2. java 旋转图片_Java实现图片翻转以及任意角度旋转

    最近几天在做一个项目,因为涉及到了图片(绝大部分都不是整图,是把一张张的大图切成小图,也就是Title)的翻转以及90°旋转,弄得焦头烂额.在网上搜索好几天,发现用到的方法都是比较公式化的,对于只是在 ...

  3. 如何批量旋转图片方向,包教会方法分享

    如何批量旋转图片方向,这个怎么搞呢?小编曾经遇到一个问题,就是我将手机上的照片上传到电脑后发现所有的图片都是倒立的,这让查看变得非常不方便.尽管小编已经尝试过打开每张图片并逐个旋转后再另存为,但这种方 ...

  4. java如何利用rotate旋转图片_Java实现图片翻转以及任意角度旋转

    最近几天在做一个项目,因为涉及到了图片(绝大部分都不是整图,是把一张张的大图切成小图,也就是Title)的翻转以及90°旋转,弄得焦头烂额.在网上搜索好几天,发现用到的方法都是比较公式化的,对于只是在 ...

  5. HTML5 3D旋转图片相册

    H5旋转3D相册,鼠标放置暂停,图片灰度级为0,有放大效果. 该实例运用H5和CSS3动画效果,未用javascript.提高了本人对CSS3 新属性的了解及掌握. 完整代码如下: <!DOCT ...

  6. 小猿圈web前端之移动端Vue+Vant实现上传压缩旋转图片功能

    小猿圈web前端讲师为了大家更好的学习前端知识决定每天分享一个web前端案例,希望对你与学习前端的你有所帮助,今天分享的是移动端Vue+Vant的Uploader实现上传.压缩.旋转图片等功能的详细介 ...

  7. css和js实现3d图片,JavaScript_纯JS实现旋转图片3D展示效果,CSS:style type=text/cssgt - phpStudy...

    纯JS实现旋转图片3D展示效果 CSS: #show{position:relative;margin:20px auto;width:800px;} .item{position:absolute; ...

  8. 360度旋转图片小特效

    现在,在这个网络发达的时代,一些电子商务公司,需要将自己线上的产品给买家或用户看,为了能让用户了解的更全面,那么把一个物件的产品要展示到方方面面,就要运用到360度旋转图片特效,因为上次有朋友叫我帮她 ...

  9. php 图片 3d旋转图片,html5实现图片的3D旋转效果

    我们先来看一下实现效果: (学习视频分享:html视频教程) H5旋转3D相册,鼠标放置暂停,图片灰度级为0,有放大效果. 该实例运用H5和CSS3动画效果,未用javascript.提高了本人对CS ...

最新文章

  1. Win10 + Opencv2.4.9
  2. 说给做管理软件的同行:你们得学会职业规划
  3. sqlserver 多表更新
  4. Spring Data JPA 从入门到精通~查询结果的处理
  5. linux下安装Python3.6.1
  6. 蓝桥杯 ADV-210 算法提高 2-1屏幕打印
  7. dozer无法映射java8中的LocalDateTime类型的解决方案
  8. Swift3 获取系统音量和监听系统音量
  9. 海康威视监控工具-IVMS-4200不同系统兼容性问题汇总
  10. 【阿朱一帖看尽】2014年BAT到底干了些什么
  11. 工程施工工地进度监控带天气经纬度相机(监理日志不再难写)
  12. 什么是java全栈工程师
  13. 每日算法刷题Day3-起始时间转换、二次方根、while连续输入、斐波那契思路
  14. 25岁女生,转行学前端合适吗?
  15. 傅佩荣谈道家逍遥自在的人生
  16. python typeerror总结_python异常总结解析
  17. Teardrop代码编程
  18. shell脚本小游戏
  19. windows系统nginx重启发生异常
  20. python3根据excel表数据自动生成word格式数据报告

热门文章

  1. Zookeeper之Linux分布式集群搭建及客户端shell命令操作
  2. gRPC 入门使用教程
  3. 【FPGA】变量位宽问题
  4. android打卡源代码,Android应用源码大学生考勤项目源码
  5. 基于dynamic-datasource多数据源自由切换--多租户
  6. 关于Spring的69个面试问答和Top25个问答--终极列表,以及Spring相关知识
  7. 我这10来年(Tinyfool的程序人生)[转]
  8. 硬盘分区、格式化及文件系统的管理
  9. oracle替换mysql_老师,您好 oracle sql 语句 替换mysql 语句
  10. 银行ATM机工作流程