opencv实现的图像缩放
利用opencv实现图像缩放有两种方法:
一、使用opencv的内置方法resize重新定义一个图片的大小从而实现缩放。
二、自己写一个原始的像素提取与内插的方法实现图片的缩放。
下面是第一种方法resize:
首先要知道怎么读取一张图片的信息:
通过print(imgInfo)我们可以知道这个图片的宽高信息和像素组成
接下来代码的设计如下
代码如下:
import cv2 img = cv2.imread('image0.jpg',1) imgInfo = img.shape print(imgInfo) height = imgInfo[0] width = imgInfo[1] mode = imgInfo[2] dstHeight = int(height*0.5) dstWidth = int(width*0.5) dst = cv2.resize(img,(dstWidth,dstHeight)) cv2.imshow('image',dst) cv2.waitKey(0)
这里的imgInfo[0]代表的高度信息(列),行同理
新的宽高信息的定义:dstHeight = int(height*0.5) //缩小一半
最后调用resize方法定义新的图片宽高实现缩放。
其中resize方法的第一个参数为img,是缩放的对象。
第二种方法:
自定义原始图片像素提取与内插的方法实现图片的缩放。
缩小:这里是抽取原图像的缩放倍数对应的整数点来组成新图片实现图片的缩小。
放大:则要做内插处理,内插方法,1.最近邻插值法,2.双线性插值法。
缩小,抽取像素点的思路如下
代码如下;
import cv2 import numpy as