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

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

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

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. """ # 獲取旋轉后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] # 旋轉后的尺寸 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+圖片旋轉并用原底色填充新四角的例子就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網(wǎng)之家。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 定兴县| 涟源市| 扶余县| 扶绥县| 海晏县| 双牌县| 颍上县| 米林县| 镇江市| 清丰县| 高台县| 太仆寺旗| 黑龙江省| 屯昌县| 松滋市| 永春县| 大港区| 绥芬河市| 赣州市| 武川县| 大姚县| 仙游县| 开原市| 广西| 嘉定区| 雷山县| 宜兴市| 黄骅市| 阜新市| 新干县| 松阳县| 芦溪县| 都昌县| 温泉县| 望谟县| 东平县| 雅江县| 城市| 皋兰县| 灵石县| 晋宁县|