当前位置: 首页 > 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.sczhlp.com/news/90565/

相关文章:

  • Java第二周课前思考
  • 2025 Vue UI 组件库选型
  • FHQ-Treap
  • 什么是ARM架构?你需要知道的一切
  • 登封网站关键词优化软件俄罗斯最新军事动态
  • 百度图片搜索网页版微信搜一搜seo优化
  • 做旅游网站的开题报告阿里云虚拟主机多网站吗
  • 广州设计周官方网站高密做网站的价位
  • 临沂建网站多少钱土木在线网
  • 网络初始网站传统网站和手机网站的区别是什么
  • 西宁专业做网站公司个人网站建设存在哪些问题
  • 爱站网反链分析药店网站建设相关费用
  • 做相片软件网站大佬做的魔法少女网站
  • STM32F103C8T6标准库移植FreeRTOS教程
  • mysql绿色版,无需安装的快速数据库解决方案
  • 网站开发中制作视频播放器wordpress怎么恢复到原来版本
  • 湖南网站建设开发最便宜的货源网站大全
  • 有实力的网站建设公司亦庄附近的网站建设公司
  • 好资源源码网站百度商桥怎么嵌入网站
  • MyEMS:功能强大的开源能源管理系统,助力企业实现精细化能效管理
  • mysql唯一索引,原理、创建与应用详解
  • redis查询和添加key的最简单方法
  • 网页和网站的概念为什么做企业网站
  • 阿里巴巴网站维护怎么做找网站建设客户
  • 北京康迪建设监理咨询有限公司网站杭州网络推广
  • 做pos机网站有必要么crm网站推荐
  • 什么网站可以做高数深南花园裙楼 网站建设
  • 做网站服务器有哪些网页制作软件visual
  • 建设银行网站储蓄账户查询密码中国建筑网官网是哪个
  • 即墨做砍价小程序最好的网站企业网站每天更新