图像旋转放大缩小

el/2024/2/25 22:26:14
import cv2
import matplotlib.pyplot as plt
import numpy as np
#显示图片
def show(image):plt.imshow(image)plt.axis('off')plt.show()#读取图片,由BGR格式转换为RGB格式
def imread(image):image = cv2.imread(image)image = cv2.cvtColor(image,cv2.COLOR_BGR2RGB)return image
image = imread('jianghe.jpeg')
(h,w) = image.shape[:2]
#截取image.shape中前两个,刚好为高度和宽度
(cX,cY) = (w/2,h/2)#cX,cY旋转中心点
#45---逆时针旋转45度
#-45---顺时针旋转45度
#1.0---缩放
M = cv2.getRotationMatrix2D((cX,cY),45,1.0)
image = cv2.warpAffine(image,M,(w,h))
show(image)

在这里插入图片描述

image = imread('jianghe.jpeg')
(h,w) = image.shape[:2]
#截取image.shape中前两个,刚好为高度和宽度
(cX,cY) = (w/2,h/2)#cX,cY旋转中心点
#45---逆时针旋转45度
#-45---顺时针旋转45度
#2.0---缩放
M = cv2.getRotationMatrix2D((cX,cY),-45,2.0)
image = cv2.warpAffine(image,M,(w,h))
show(image)

在这里插入图片描述

image = imread('jianghe.jpeg')
(h,w) = image.shape[:2]
#截取image.shape中前两个,刚好为高度和宽度
(cX,cY) = (w/2,h/2)#cX,cY旋转中心点
#45---逆时针旋转45度
#-45---顺时针旋转45度
#0.5---缩放
M = cv2.getRotationMatrix2D((cX,cY),-45,0.5)
image = cv2.warpAffine(image,M,(w,h))
show(image)

在这里插入图片描述

image = imread('jianghe.jpeg')
(h,w) = image.shape[:2]
#截取image.shape中前两个,刚好为高度和宽度
(cX,cY) = (w/2,h/2)#cX-200,cY-200旋转中心点,大概为左上角区域
#45---逆时针旋转45度
#-45---顺时针旋转45度
#1.0---缩放
M = cv2.getRotationMatrix2D((cX-200,cY-200),45,1.0)
image = cv2.warpAffine(image,M,(w,h))
show(image)

在这里插入图片描述


http://www.ngui.cc/el/4423609.html

相关文章

resize图片形状大小

import cv2 import matplotlib.pyplot as plt import numpy as np#显示图片 def show(image):plt.imshow(image)plt.axis(off)plt.show()#读取图片,由BGR格式转换为RGB格式 def imread(image):image cv2.imread(image)image cv2.cvtColor(image,cv2.COLOR_BGR2RGB)return ima…

翻转+裁剪+图像算数

import cv2 import matplotlib.pyplot as plt import numpy as np#显示图片 def show(image):plt.imshow(image)plt.axis(off)plt.show()#读取图片,由BGR格式转换为RGB格式 def imread(image):image cv2.imread(image)image cv2.cvtColor(image,cv2.COLOR_BGR2RGB)return ima…

按位计算+遮挡

bitwise_and是对二进制数据进行‘与’操作,即对图像(灰度图像或彩色图像均可)每个像素值进行二进制‘与’操作,1&11,1&00,0&10,0&00bitwise_or是对二进制数据进行‘或’操作,即对图像(灰度…

图像平滑颜色空间转换

import cv2 import matplotlib.pyplot as plt import numpy as np#显示图片 def show(image):plt.imshow(image)plt.axis(off)plt.show()#读取图片,由BGR格式转换为RGB格式 def imread(image):image cv2.imread(image)image cv2.cvtColor(image,cv2.COLOR_BGR2RGB)return ima…

二值化Thresholding

import cv2 import matplotlib.pyplot as plt import numpy as np#显示图片 def show(image):plt.imshow(image)plt.axis(off)plt.show()#读取图片,由BGR格式转换为RGB格式 def imread(image):image cv2.imread(image)image cv2.cvtColor(image,cv2.COLOR_BGR2RGB)return ima…

读取摄像头视频读取视频文件视频的写入

import numpy as np import cv2#0代表从摄像头获取图像数据,如果从本地获取可以写路径 cap cv2.VideoCapture(0)while(True):# ret表示读取成功True或失败False#frame表示读取到的图像的内容#总的意思是读取一帧数据ret,frame cap.read()#灰度图gray cv2.cvtColo…

随机数的生成矩阵的运算2numpy的索引

import numpy as npsample np.random.random((3,2)) #生成3行2列由0-1的随机数组成的数组 print(sample)sample np.random.normal(size(3,2)) #生成3行2列由符合标准正态分布随机数组成的数组 print(sample)sample np.random.randint(0,10,size(3,2)) #生成3行2列由0-10随机…

array合并array分割numpy的浅拷贝和深拷贝

import numpy as nparr1 np.array([1,2,3]) arr2 np.array([4,5,6]) arr3 np.vstack((arr1,arr2))#垂直合并 print(arr3) print(arr3.shape)arr4 np.hstack((arr1,arr2))#水平合并 print(arr4) print(arr4.shape)不管是垂直合并还是水平合并,都可以多个合并 另…

matplotlib设置坐标轴

import numpy as np设置x,y范围 x np.linspace(-3,3,100) y1 2*x 1 y2 x**2#xy范围 plt.xlim((-1,2)) plt.ylim((-2,3))plt.plot(x,y1,colorred,linewidth1.0,linestyle--) plt.plot(x,y2,colorblue,linewidth5.0,linestyle-) #color指的是线的颜色,linewidth指…

matplotlib 3D图matplotlib subplotmatplotlib动态图

绘制3D图 import matplotlib.pyplot as plt import numpy as np from mpl_toolkits.mplot3d import Axes3Dfig plt.figure() ax Axes3D(fig)plt.show()fig plt.figure() ax Axes3D(fig)x np.arange(-4,4,0.25) y np.arange(-4,4,0.25) X,Y np.meshgrid(x,y)#x,y传入网格…