濮阳杆衣贸易有限公司

主頁 > 知識庫 > 超詳細注釋之OpenCV操作圖像平移轉(zhuǎn)換

超詳細注釋之OpenCV操作圖像平移轉(zhuǎn)換

熱門標簽:獲客智能電銷機器人 哈爾濱外呼系統(tǒng)代理商 湛江電銷防封卡 徐州天音防封電銷卡 南昌辦理400電話怎么安裝 電話機器人適用業(yè)務(wù) 不錯的400電話辦理 鄭州智能外呼系統(tǒng)運營商 佛山防封外呼系統(tǒng)收費

這篇博客將介紹如何使用Python,OpenCV對圖像進行平移轉(zhuǎn)換。平移是圖像沿x軸和y軸的移動。使用平移,可以將圖像上下左右移動,以及上述任意組合。要使用OpenCV平移圖像,只需3步:

  1. 從磁盤加載圖像
  2. 定義仿射變換矩陣
  3. 應(yīng)用cv2.warpAffine仿射函數(shù)來執(zhí)行平移

1. 效果圖

用了穎寶明蘭的新娘圖片來演示效果~,喜歡這張圖的原因,是這里有一首經(jīng)典的催妝詩,

《催妝詩》
金車欲上怯?xùn)|風(fēng),排云見月醉酒空。
獨自仙姿羞半吐,冰瓷露白借微紅。

原圖如下:

向右向下平移圖 VS 向上向左平移圖 VS 向下平移效果圖如下:

2. 原理

轉(zhuǎn)化矩陣

M = np.float32([
[1, 0, shiftX],
[0, 1, shiftY]
])

轉(zhuǎn)換矩陣M被定義為浮點數(shù)組。 矩陣的第一行是[1,0,t{x}],其中t{x}是將圖像向左或向右移動的像素數(shù)。t{x}的負值將使圖像向左移動,正值將使圖像向右移動。 矩陣的第二行定義為[0,1,t{y}],其中t{y}是將圖像上下移動的像素數(shù)。t{y}的負值將使圖像上移,正值將使圖像下移。

3. 源碼

# 對圖像進行平移
# USAGE
# python opencv_translate.py

import argparse

import cv2
import imutils
# 導(dǎo)入必要的包
import numpy as np

# 構(gòu)建命令行參數(shù)及解析
# --image 輸入圖像路徑
ap = argparse.ArgumentParser()
ap.add_argument("-i", "--image", type=str, default="ml.jpg",
                help="path to the input image")
args = vars(ap.parse_args())

# 從磁盤加載圖像并顯示
image = cv2.imread(args["image"])
image = imutils.resize(image, width=300)
cv2.imshow("Original", image)

# 將圖像向右移動25像素,像下移動50像素
M = np.float32([[1, 0, 25], [0, 1, 50]])
shifted = cv2.warpAffine(image, M, (image.shape[1], image.shape[0]))
cv2.imshow("Shifted Down and Right", shifted)

# 修改圖像向左移動50像素,向上移動90像素
M = np.float32([[1, 0, -50], [0, 1, -90]])
shifted = cv2.warpAffine(image, M, (image.shape[1], image.shape[0]))
cv2.imshow("Shifted Up and Left", shifted)

# 用一行代碼實現(xiàn)平移——imutils.translate
shifted = imutils.translate(image, 0, 100)
cv2.imshow("Shifted Down", shifted)
cv2.waitKey(0)

cv2.destroyAllWindows()

參考

  • https://www.pyimagesearch.com/2021/02/03/opencv-image-translation/
  • imutils.translate 源碼github~

到此這篇關(guān)于超詳細注釋之OpenCV操作圖像平移轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)OpenCV圖像平移轉(zhuǎn)換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python Opencv圖像處理基本操作代碼詳解
  • Opencv圖像處理:如何判斷圖片里某個顏色值占的比例
  • OpenCV圖像處理之自定義濾波

標簽:蘭州 呂梁 廣西 蕪湖 紹興 懷化 安康 吉安

巨人網(wǎng)絡(luò)通訊聲明:本文標題《超詳細注釋之OpenCV操作圖像平移轉(zhuǎn)換》,本文關(guān)鍵詞  超,詳細,注釋,之,OpenCV,操作,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《超詳細注釋之OpenCV操作圖像平移轉(zhuǎn)換》相關(guān)的同類信息!
  • 本頁收集關(guān)于超詳細注釋之OpenCV操作圖像平移轉(zhuǎn)換的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    叙永县| 南京市| 公安县| 巴里| 富阳市| 民丰县| 永年县| 龙州县| 威信县| 北京市| 鄯善县| 阜阳市| 灌阳县| 常德市| 英吉沙县| 吴江市| 澳门| 莆田市| 锡林郭勒盟| 临桂县| 大埔县| 临邑县| 辉县市| 新兴县| 桐乡市| 博罗县| 义乌市| 鄄城县| 红河县| 鄂伦春自治旗| 昌吉市| 荣昌县| 高陵县| 日喀则市| 循化| 汶上县| 西昌市| 靖远县| 禄丰县| 江山市| 连云港市|