图像仿射变换/旋转

import cv2import numpy as npimg = cv2.imread(‘../img/zidan.jpg‘,1)imgInfo = img.shapeheight = imgInfo[0]width = imgInfo[1]matSrc = np.float32([[0,0],[0,height-1],[width-1,0]])#输入图像对应的三角形的顶点坐标matDst = np.float32([[50,50],[100,height-50],[width-200,100]])#输出图像对应的三角形顶点坐标matAff = cv2.getAffineTransform(matSrc,matDst)#由三对点计算仿射变换dst = cv2.warpAffine(img,matAff,(width,height))#对图像做仿射变换
matRotate = cv2.getRotationMatrix2D((height*0.5,width*0.5),45,0.5)#参数1:中心点   参数2:旋转角度    参数3:缩放程度dst = cv2.warpAffine(img,matRotate,(height,width))cv2.imshow(‘dst‘,dst)

cv2.imshow(‘dst1‘,dst1)
cv2.waitKey(0)图像仿射变换效果图;

图像旋转效果图:

 

原文地址:https://www.cnblogs.com/cxxBoo/p/11452382.html

时间: 2024-10-07 07:16:07

图像仿射变换/旋转的相关文章

图像的旋转——imrotate

调用函数: imrotate B = imrotate (A, angle)                          % A 是旋转的图像矩阵,angle是旋转角度,-45是顺时针 B = imrotate (A, angle,method)   % method是插值的方法(如,nearest,bilinear,bicubic.注意:要打单引号,'nearest') B = imrotate (A, angle,method,bbox)    % bbox是指旋转后的显示方式(两种:

在CSS3中,可以利用transform功能来实现文字或图像的旋转、缩放、倾斜、移动这四种类型的变形处理

CSS3中的变形处理(transform)属 transform的功能分类 1.旋转 transform:rotate(45deg); 该语句使div元素顺时针旋转45度.deg是CSS 3的"Values and Units"模块中定义的一个角度单位. 2.缩放 transform:scale(0.8,1); 使用缩放的方法实现文字或图像的缩放效果,在参数中指定缩放倍率.该语句使用scale方法使该元素在水平方向上缩小了20%,垂直方向上不缩放. 3.倾斜 transform:ske

OpenCV文本图像的旋转矫正

用户在使用Android手机拍摄过程中难免会出现文本图像存在旋转角度.这里采用霍夫变换.边缘检测等数字图像处理算法检测图像的旋转角度,并根据计算结果对输入图像进行旋转矫正. 首先定义一个结构元素,再通过该结构元素对该图像进行开运算和闭运算(即腐蚀膨胀运算). Imgproc.cvtColor(matOri, matGray, Imgproc.COLOR_RGB2GRAY); Mat kernel = Imgproc.getStructuringElement(Imgproc.CV_SHAPE_R

opencv 图像平移、缩放、旋转、翻转 图像仿射变换

图像几何变换 图像几何变换从原理上看主要包括两种:基于2x3矩阵的仿射变换(平移.缩放.旋转.翻转).基于3x3矩阵的透视变换. 图像平移 opencv实现图像平移 实现图像平移,我们需要定义下面这样一个矩阵,tx和ty分别是x和y方向上平移的距离: 图像平移利用仿射变换函数 cv.warpAffine() 实现 实验 # 图像平移 import numpy as np import cv2 as cv img = cv.imread('paojie.jpg') rows, cols = img

[Android]android.graphics.Camera实现图像的旋转、缩放,配合Matrix实现图像的倾斜

android.graphics.Camera可以对图像执行一些比较复杂的操作,诸如旋转与绽放,与Matrix可实现图像的倾斜. 个人总结Camera与Matrix的一些区别如下: Camera的rotate()相关方法是指定某一维度上旋转指定的角度. Matrix的rotate()相关方法实现的效果是顺时针旋转指定的角度:与Camera指定Z轴旋转效果相同,但方向相反. Camera的translate()方法根据某一维度上视点的位移实现图像的缩放,与Matrix的scale()相关方法作用效

图像任意旋转

1 #include <iostream> 2 #include<opencv2/opencv.hpp> 3 #include <deque> 4 using namespace std; 5 using namespace cv; 6 void Rotate_vertical(Mat &src, Mat &dst, float angle)//src原图像,dst输出图像,旋转角度 7 { 8 float rad = (float)(angle / 1

GD库的基本信息,图像的旋转、水印、缩略图、验证码,以及图像类的封装

GD库检测 <?php phpinfo(); ?> GD库安装• Windows 使用phpstudy • Linux 编译安装 –with-gd• Linux 编译安装扩展 GD库支持的图像格式 使用 gd_info() 函数 检测服务器支持的图像格式 图像信息处理 <?php //获取图像详细信息 $image = '../image/b.png'; $info = getimagesize($image); var_dump($info); $string = file_get_c

图像处理-图像的旋转及变换

对于倾斜的图像,可以通过矩阵转换将其进行矫正. 先计算出图像倾斜矩形的长宽,而后将矫正后的形状的矩形坐标确定,通过getPerspectiveTransform获取矫正前与矫正后坐标的变换矩阵,而后利用warpPerspective将图像进行变换 1 float dstSize1 = dist(Final_poly[i][0], Final_poly[i][1]); 2 float dstSize2 = dist(Final_poly[i][1], Final_poly[i][2]); 3 fl

图像几何变换:旋转,缩放,斜切

几何变换 几何变换可以看成图像中物体(或像素)空间位置改变,或者说是像素的移动. 几何运算需要空间变换和灰度级差值两个步骤的算法,像素通过变换映射到新的坐标位置,新的位置可能是在几个像素之间,即不一定为整数坐标.这时就需要灰度级差值将映射的新坐标匹配到输出像素之间.最简单的插值方法是最近邻插值,就是令输出像素的灰度值等于映射最近的位置像素,该方法可能会产生锯齿.这种方法也叫零阶插值,相应比较复杂的还有一阶和高阶插值. 插值算法感觉只要了解就可以了,图像处理中比较需要理解的还是空间变换. 空间变换