OpenCV(6)-实现图像基本变换
创始人
2024-03-27 01:02:33

OpenCV实现图像基本变换

图像的放大与缩小

  • 图像缩放:resize(src,dst,dsize,fx,fy,interpolation)
    • fx:x轴的缩放因子
    • fy:y轴的缩放因子
    • interpolation:差值算法
      • INTER_NEAREST:邻近差值,速度快,效果差
      • INTER_LINEAR:默认,双线性差值,原图中的四个点,快,效果好
      • INTER_CUBIC:三次差值,原图中的16个点,较慢
      • INTER_AREA:效果最好,速度最慢
import cv2
import numpy as nppeople = cv2.imread('1.png')
new = cv2.resize(people,None,fx=3.0,fy=3.0,interpolation=cv2.INTER_AREA)cv2.imshow('people',people)
cv2.imshow('new',new)
cv2.waitKey(0)

图像翻转

  • flip(img,flipCode)
    • flipCode==0 上下翻转
    • flipCode>0 左右翻转
    • flipCode<0 上下+左右翻转
import cv2
import numpy as nppeople = cv2.imread('1.png')
new = cv2.flip(people,-1)cv2.imshow('people',people)
cv2.imshow('new',new)
cv2.waitKey(0)

图像旋转

  • rotate(img,retateCode)
    • ROTATE_90_CLOCKWISE 转90度
    • ROTATE_180 转180度
    • ROTATE_90_COUNTERCLOCKWISE 转270度
import cv2
import numpy as nppeople = cv2.imread('1.png')
new = cv2.rotate(people,cv2.ROTATE_90_CLOCKWISE)cv2.imshow('people',people)
cv2.imshow('new',new)
cv2.waitKey(0)

图像的仿射变换

  • 仿射变换是图像旋转、缩放、平移的总称

图像平移

  • warpAffine(src,M,dsize,flags,mode,value)
    • M:变换矩阵
    • dsize:变换后输出尺寸大小
    • flag:与resize中的差值算法一致
    • mode:边界外推法标志
    • value:填充边界的值
  • 矩阵中的每个元素由(x,y)组成
  • 因此,其变换矩阵是2*2的矩阵
  • 平移向量为2 * 1的向量,所在平移矩阵为 2 * 3的矩阵
import cv2
import numpy as nppeople = cv2.imread('1.png')
h,w,ch = people.shapeM = np.float32([[1,0,50],[0,1,0]])new = cv2.warpAffine(people,M,(w,h))
cv2.imshow('people',people)
cv2.imshow('new',new)cv2.waitKey(0)

变换矩阵

  • getRotationMatrix2D(center,angle,scale)
    • 通过一点轴变换
    • center:中心点(x,y)
    • angle:角度(按照逆时针旋转)
    • scale:缩放比例
M = cv2.getRotationMatrix2D((w/2,h/2),30,1.5)
  • getAffineTransform(src[],dst[])
    • 通过三个点确定变换的位置
    • src原
    • dst目的
src = np.float32([[400,300],[800,300],[400,1000]])
dst = np.float32([[200,400],[600,500],[150,1100]])
M = cv2.getAffineTransform(src,dst)

透视变换

变换坐标系(可以将斜着的图片截取一部分并且变成正着)

  • warpPerspective(img,M,dsize,…)

    • M:变换矩阵
    • dsize:变换后输出尺寸大小
  • 获取变换矩阵:getPerspectiveTransform(src,dst)

    • 四个点
M = cv2.getPerspectiveTransform(src,dst)
new = cv2.warpPerspective(img,M,(2300,3000))

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...