国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 平昌县| 体育| 凌源市| 英超| 安顺市| 昌平区| 临城县| 高陵县| 长乐市| 资中县| 若尔盖县| 淮南市| 敖汉旗| 昌江| 纳雍县| 苏尼特左旗| 孟连| 会理县| 平安县| 巴塘县| 大安市| 邻水| 宽城| 信阳市| 通渭县| 安达市| 宁河县| 玛曲县| 湘潭县| 钟山县| 邵武市| 赣州市| 遂昌县| 石林| 当雄县| 全南县| 余姚市| 尉氏县| 辽宁省| 惠州市| 临沭县|