邊緣填充:
image = cv2.copymakeborder(image, add_width, add_width, add_width, add_width, cv2.border_replicate, 0)
乙個是投影變換增強,乙個是旋轉增強
# -*- coding:utf-8 -*-
import cv2
import numpy as np
def rad(x):
return x * np.pi / 180
def rotate_3(img,angle_vari=30):
w, h = img.shape[0:2]
fov = 42
anglex = np.random.uniform(-angle_vari, angle_vari)
angley = np.random.uniform(-angle_vari, angle_vari)
anglez = np.random.uniform(-angle_vari+10, angle_vari-10)
# 鏡頭與影象間的距離,21為半可視角,算z的距離是為了保證在此可視角度下恰好顯示整幅影象
z = np.sqrt(w ** 2 + h ** 2) / 2 / np.tan(rad(fov / 2))
# 齊次變換矩陣
rx = np.array([[1, 0, 0, 0],
[0, np.cos(rad(anglex)), -np.sin(rad(anglex)), 0],
[0, -np.sin(rad(anglex)), np.cos(rad(anglex)), 0, ],
[0, 0, 0, 1]], np.float32)
ry = np.array([[np.cos(rad(angley)), 0, np.sin(rad(angley)), 0],
[0, 1, 0, 0],
[-np.sin(rad(angley)), 0, np.cos(rad(angley)), 0, ],
[0, 0, 0, 1]], np.float32)
rz = np.array([[np.cos(rad(anglez)), np.sin(rad(anglez)), 0, 0],
[-np.sin(rad(anglez)), np.cos(rad(anglez)), 0, 0],
[0, 0, 1, 0],
[0, 0, 0, 1]], np.float32)
r = rx.dot(ry).dot(rz)
# 四對點的生成
pcenter = np.array([h / 2, w / 2, 0, 0], np.float32)
p1 = np.array([0, 0, 0, 0], np.float32) - pcenter
p2 = np.array([w, 0, 0, 0], np.float32) - pcenter
p3 = np.array([0, h, 0, 0], np.float32) - pcenter
p4 = np.array([w, h, 0, 0], np.float32) - pcenter
dst1 = r.dot(p1)
dst2 = r.dot(p2)
dst3 = r.dot(p3)
dst4 = r.dot(p4)
list_dst = [dst1, dst2, dst3, dst4]
org = np.array([[0, 0],
[w, 0],
[0, h],
[w, h]], np.float32)
dst = np.zeros((4, 2), np.float32)
# 投影至成像平面
python opencv之 Hough圓變換
內容來自opencv python tutorials 自己翻譯整理 目標 使用霍夫變換在影象中尋找圓 使用函式cv2.houghcircles 原理 圓形的表示式為 x xcenter 2 y ycenter 2 r2 x xcenter 2 y ycenter 2 r2,乙個圓環的確定需要三個引...
arcgis for python 批量投影變換
接到的需求是對資料夾下包括子目錄所有影像進行投影變換,在網上找了找,大家的 好像和需求不太一致,自己寫了乙個小工具。思路是遍歷資料夾所有.tif檔案。1.用os.walk 函式來獲取路徑和檔名 2.用 if 語句限制讀取字尾為.tif的檔案 3.將檔案路徑和檔名組合起來 4.呼叫arcpy.proj...
python opencv 安裝整理
這兩天比較有空,在公司內想學習一下opencv,又不想安裝vc 所以就那個python看opencv。安裝環境本來很簡單 但是我python是64的 估計也很多 而opencv的安裝要有乙個numpy庫 這個在官網上只有32位的 所以,事情變得複雜起來。網上找了一下,只道有提供64位版的numpy庫...