当前位置: 首页 > news >正文

【OpenCV】9 图像基本变换

图像缩放 resize

image

import cv2
import numpy as npdog = cv2.imread('img/dog.jpg')
# new = cv2.resize(dog, (300, 300))
new = cv2.resize(dog, None, fx=2, fy=2, interpolation=cv2.INTER_AREA)cv2.imshow('dog', dog)
cv2.imshow('new', new)
cv2.waitKey(0)

图像翻转 flip

image

import cv2
import numpy as npdog = cv2.imread('img/dog.jpg')
new1 = cv2.flip(dog, 0)
new2 = cv2.flip(dog, 1)
new3 = cv2.flip(dog, -1)cv2.imshow('dog', dog)
cv2.imshow('==0 上下', new1)
cv2.imshow('> 0 左右', new2)
cv2.imshow('< 0 上下+左右', new3)
cv2.waitKey(0)

图像旋转 rotate

image

import cv2
import numpy as npdog = cv2.imread('img/dog.jpg')
new1 = cv2.rotate(dog, cv2.ROTATE_90_CLOCKWISE)
new2 = cv2.rotate(dog, cv2.ROTATE_180)
new3 = cv2.rotate(dog, cv2.ROTATE_90_COUNTERCLOCKWISE)cv2.imshow('dog', dog)
cv2.imshow('new1', new1)
cv2.imshow('new2', new2)
cv2.imshow('new3', new3)
cv2.waitKey(0)

仿射变换 warpAffine

缩放、平移、旋转的总称

平移

import cv2
import numpy as npdog = cv2.imread('img/dog.jpg')
h, w, ch = dog.shape
M = np.float32([[1,0, 50], [0, 1, 0]])
new1 = cv2.warpAffine(dog, M, (w, h))cv2.imshow('dog', dog)
cv2.imshow('new1', new1)cv2.waitKey(0)

变换矩阵 getRotationMatrix2D

image

import cv2
import numpy as npdog = cv2.imread('img/dog.jpg')
h, w, ch = dog.shape
# 旋转中心
# 旋转角度
# 缩放比例
M = cv2.getRotationMatrix2D((w/2, h/2), 15, 1.0)
new1 = cv2.warpAffine(dog, M, (w, h))cv2.imshow('dog', dog)
cv2.imshow('new1', new1)cv2.waitKey(0)

变换矩阵 getAffineTransform

image

import cv2
import numpy as npdog = cv2.imread('img/dog.jpg')
h, w, ch = dog.shapesrc = np.float32([[30, 30], [30, 90], [90, 30]])
dst = np.float32([[40, 50], [60, 30], [10, 50]])M = cv2.getAffineTransform(src, dst)
new1 = cv2.warpAffine(dog, M, (w, h))cv2.imshow('dog', dog)
cv2.imshow('new1', new1)cv2.waitKey(0)

透视变换 warpPerspective

image

import cv2
import numpy as npdog = cv2.imread('img/dog.jpg')
h, w, ch = dog.shapesrc = np.float32([[30, 30], [30, 90], [90, 30], [90, 90]])
dst = np.float32([[0, 0], [0, w/2], [h/3, 0], [w, h]])M = cv2.getPerspectiveTransform(src, dst)
new1 = cv2.warpPerspective(dog, M, (w, h))cv2.imshow('dog', dog)
cv2.imshow('new1', new1)cv2.waitKey(0)
http://www.wxhsa.cn/company.asp?id=1021

相关文章:

  • Java第二周课前思考
  • 2025 Vue UI 组件库选型
  • FHQ-Treap
  • 什么是ARM架构?你需要知道的一切
  • 程序连接金仓数据库查询报错:ERROR:column r.id does not exist。字段不存在
  • 论Intel CPU 进化史:德承工控机全面进化 搭载新一代 Intel Core™ Ultra 7/5/3 处理器 - Johnny
  • STM32F103C8T6标准库移植FreeRTOS教程
  • mysql绿色版,无需安装的快速数据库解决方案
  • MyEMS:功能强大的开源能源管理系统,助力企业实现精细化能效管理
  • mysql唯一索引,原理、创建与应用详解
  • redis查询和添加key的最简单方法
  • 111111
  • The 2025 ICPC Asia East Continent Online Contest (I) 7/13 A/B/C/D/G/I/M
  • [PHP之代码审计篇]CTFshowWeb入门 Web301~Web310
  • SAP取税率
  • mysql 导入sql,从入门到精通
  • Kubernetes Pod
  • selenium+browsermobproxy抓POST请求
  • 算法-Dijkstra算法-02 - jack
  • typescript面试题
  • LIN通信协议入门
  • 答题赚现金程序介绍
  • 番茄社交营销商城系统介绍
  • framework中按压power键屏幕熄灭及亮起时流程
  • 标书智能体(二)——生成标书提纲代码+提示词
  • 易客云会员系统相关介绍
  • 线段树模版
  • 设计模式-责任链模式
  • Linux开机启动设置全攻略
  • 实用指南:Grafana - 监控磁盘使用率Variables使用