画像スケーリング/補間

拡大、縮小、非幾何学的なスケーリングと、いくつかの幾何学的なスケーリングをスケーリング画像
CV2インポート
IMG = cv2.imread( '../ IMG / zidan.jpg')
imgInfo = img.shape
プリント(imgInfo)
高さ= imgInfo [0]
幅= imgInfo [1]
画像を縮小、拡大スケーリング、幾何学的なスケーリングおよびいくつかの非プロポーショナルスケーリング
dstHeight = INT(0.5 *高さ)
dstWidth = INT(0.5×幅)
dstImg = cv2.resize(IMG、(dstWidth、dstHeight))
cv2.imshow( 'ダブルスケーリング' dstImg)
cv2.waitKey(0)
レンダリング:

 

 補間方法:キュービック補間バイリニア補間をリサンプリング最近傍補間画素の関係(デフォルト)

 

 

対象画像原画像に対応する点のx座標=の座標x *目標画像(画像/対象画像の元の幅の幅)の座標

双線形補間:元の画像の画素値に対応するターゲット画像における特定の画素が小数です。

図示のように:

A1 = A2 = 0.2 * 15 + 16 * 0.8

B1 = B2 = 22 * 0.3 + 23 * 0.7

最終値= A1 * 0.3 + A2 * 0.7 * 0.2 B1 + B2 * 0.8

バイリニア補間により画像をズーム:

インポートCV2の
NPのようなインポートnumpyの
IMG = cv2.imread( '../ IMG / zidan.jpg'、1)
imgInfo = img.shape
プリント(imgInfo)
幅= imgInfo [0]
高さ= imgInfo [1]
dstHeight = INT(高さ×0.5)
dstWidth = INT(幅×0.5)
newImg = np.zeros((dstWidth、dstHeight、3)、np.uint8)
範囲(0、dstWidth)におけるiについて:
範囲内のJ(0、dstHeight)。
newWidth = INT(iは(*幅* 1.0 / dstWidth))
newHeight = INT(J×(高さ* 1.0 / dstHeight))
newImg [I、J] = IMG [newWidth、newHeight]
cv2.imshow( 'newimg'、newImg )
cv2.waitKey(0)

效果图。

 

おすすめ

転載: www.cnblogs.com/cxxBoo/p/11447558.html