欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2019年12月12日 15:59:25   作者:默盒  
今天小編就為大家分享一篇Python+OpenCV+圖片旋轉(zhuǎn)并用原底色填充新四角的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

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

import cv2
from math import fabs, sin, cos, radians
import numpy as np
from scipy.stats import mode


def 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)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python:關(guān)于文件加載及處理方式

    python:關(guān)于文件加載及處理方式

    這篇文章主要介紹了python:關(guān)于文件加載及處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Python requests模塊session代碼實例

    Python requests模塊session代碼實例

    這篇文章主要介紹了Python requests模塊session代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • Python數(shù)據(jù)分析pandas模塊用法實例詳解

    Python數(shù)據(jù)分析pandas模塊用法實例詳解

    這篇文章主要介紹了Python數(shù)據(jù)分析pandas模塊用法,結(jié)合實例形式分析了pandas模塊對象創(chuàng)建、數(shù)值運算等相關(guān)操作技巧與注意事項,需要的朋友可以參考下
    2019-11-11
  • 基于PyQt5制作數(shù)據(jù)處理小工具

    基于PyQt5制作數(shù)據(jù)處理小工具

    這篇文章主要和大家介紹了如何利用Python中的PyQt5模塊制作一個數(shù)據(jù)處理小工具,可以實現(xiàn)根據(jù)每個Excel數(shù)據(jù)文件里面的Sheet批量將數(shù)據(jù)文件合并成為一個匯總后的Excel數(shù)據(jù)文件,需要的可以參考一下
    2022-03-03
  • pygame可視化幸運大轉(zhuǎn)盤實現(xiàn)

    pygame可視化幸運大轉(zhuǎn)盤實現(xiàn)

    這篇文章主要介紹了pygame可視化幸運大轉(zhuǎn)盤實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Python中幾種屬性訪問的區(qū)別與用法詳解

    Python中幾種屬性訪問的區(qū)別與用法詳解

    這篇文章主要給大家介紹了關(guān)于Python中幾種屬性訪問的區(qū)別和用法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-10-10
  • Python設(shè)計模式之代理模式實例詳解

    Python設(shè)計模式之代理模式實例詳解

    這篇文章主要介紹了Python設(shè)計模式之代理模式,結(jié)合實例形式較為詳細(xì)的分析了代理模式的概念、原理及Python定義、使用代理模式相關(guān)操作技巧,需要的朋友可以參考下
    2019-01-01
  • Python使用tarfile模塊實現(xiàn)免費壓縮解壓

    Python使用tarfile模塊實現(xiàn)免費壓縮解壓

    Python自帶的tarfile模塊可以方便讀取tar歸檔文件,厲害的是可以處理使用gzip和bz2壓縮歸檔文件tar.gz和tar.bz2,這篇文章主要介紹了Python使用tarfile模塊實現(xiàn)免費壓縮解壓,需要的朋友可以參考下
    2024-03-03
  • python itchat實現(xiàn)微信自動回復(fù)的示例代碼

    python itchat實現(xiàn)微信自動回復(fù)的示例代碼

    本篇文章主要介紹了python itchat實現(xiàn)微信自動回復(fù)的示例代碼,可以實現(xiàn)微信自動回復(fù),有興趣的可以了解一下
    2017-08-08
  • python 利用panda 實現(xiàn)列聯(lián)表(交叉表)

    python 利用panda 實現(xiàn)列聯(lián)表(交叉表)

    這篇文章主要介紹了python 利用panda 實現(xiàn)列聯(lián)表(交叉表),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02

最新評論