国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > Python > 正文

Python+OpenCV+圖片旋轉(zhuǎn)并用原底色填充新四角的例子

2024-09-09 19:03:14
字體:
供稿:網(wǎng)友

我就廢話不多說了,直接上代碼吧!

import cv2from math import fabs, sin, cos, radiansimport numpy as npfrom scipy.stats import modedef get_img_rot_broa(img, degree=45, filled_color=-1): """ Desciption:  Get img rotated a certain degree, and use some color to fill 4 corners of the new img. """ # 獲取旋轉(zhuǎn)后4角的填充色 if filled_color == -1: filled_color = mode([img[0, 0], img[0, -1],    img[-1, 0], img[-1, -1]]).mode[0] if np.array(filled_color).shape[0] == 2: if isinstance(filled_color, int):  filled_color = (filled_color, filled_color, filled_color) else: filled_color = tuple([int(i) for i in filled_color]) height, width = img.shape[:2] # 旋轉(zhuǎn)后的尺寸 height_new = int(width * fabs(sin(radians(degree))) +   height * fabs(cos(radians(degree)))) width_new = int(height * fabs(sin(radians(degree))) +   width * fabs(cos(radians(degree)))) mat_rotation = cv2.getRotationMatrix2D((width / 2, height / 2), degree, 1) mat_rotation[0, 2] += (width_new - width) / 2 mat_rotation[1, 2] += (height_new - height) / 2 # Pay attention to the type of elements of filler_color, which should be # the int in pure python, instead of those in numpy. img_rotated = cv2.warpAffine(img, mat_rotation, (width_new, height_new),     borderValue=filled_color) # 填充四個角 mask = np.zeros((height_new + 2, width_new + 2), np.uint8) mask[:] = 0 seed_points = [(0, 0), (0, height_new - 1), (width_new - 1, 0),   (width_new - 1, height_new - 1)] for i in seed_points: cv2.floodFill(img_rotated, mask, i, filled_color) return img_rotated

以上這篇Python+OpenCV+圖片旋轉(zhuǎn)并用原底色填充新四角的例子就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持武林網(wǎng)之家。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 安平县| 满洲里市| 山东| 巴彦淖尔市| 龙里县| 萨迦县| 昌图县| 新安县| 金堂县| 嘉峪关市| 伽师县| 泸州市| 通许县| 康保县| 商城县| 基隆市| 缙云县| 合江县| 温宿县| 武清区| 大洼县| 锡林浩特市| 广昌县| 商洛市| 正镶白旗| 石台县| 蒙城县| 上杭县| 耒阳市| 武宁县| 汉阴县| 齐齐哈尔市| 松江区| 白玉县| 抚州市| 金溪县| 泰顺县| 汉中市| 通辽市| 依安县| 龙江县|