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

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

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

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

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.
 """

 # 獲取旋轉后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+圖片旋轉并用原底色填充新四角的例子就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • pytorch點乘與叉乘示例講解

    pytorch點乘與叉乘示例講解

    今天小編就為大家分享一篇pytorch點乘與叉乘示例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 基于Python實現二維圖像雙線性插值

    基于Python實現二維圖像雙線性插值

    雙線性插值,又稱為雙線性內插。在數學上,雙線性插值是有兩個變量的插值函數的線性插值擴展,其核心思想是在兩個方向分別進行一次線性插值。本文將用Python實現二維圖像雙線性插值,感興趣的可以了解下
    2022-06-06
  • Django框架ORM數據庫操作實例詳解

    Django框架ORM數據庫操作實例詳解

    這篇文章主要介紹了Django框架ORM數據庫操作,結合實例形式詳細分析了Django框架ORM數據庫基本增刪改查與相關函數使用技巧,需要的朋友可以參考下
    2019-11-11
  • Python安裝與卸載流程詳細步驟(圖解)

    Python安裝與卸載流程詳細步驟(圖解)

    這篇文章主要介紹了Python環(huán)境的安裝與卸載流程,本文分步驟通過圖文并茂的形式給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • python help函數實例用法

    python help函數實例用法

    在本篇文章里小編給大家整理了關于python help函數實例用法及相關實例,需要的朋友們可以學習下。
    2020-12-12
  • Python使用type動態(tài)創(chuàng)建類操作示例

    Python使用type動態(tài)創(chuàng)建類操作示例

    這篇文章主要介紹了Python使用type動態(tài)創(chuàng)建類操作,結合實例形式詳細分析了Python使用type動態(tài)創(chuàng)建類的具體原理、實現方法與操作注意事項,需要的朋友可以參考下
    2020-02-02
  • Python深度學習pytorch神經網絡多層感知機簡潔實現

    Python深度學習pytorch神經網絡多層感知機簡潔實現

    這篇文章主要為大家講解了Python深層學習中pytorch神經網絡多層感知機的簡潔實現方式,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-10-10
  • Python入門教程(十七)Python的While循環(huán)

    Python入門教程(十七)Python的While循環(huán)

    這篇文章主要介紹了Python入門教程(十七)Python的While循環(huán),Python是一門非常強大好用的語言,也有著易上手的特性,本文為入門教程,需要的朋友可以參考下
    2023-04-04
  • 對TensorFlow中的variables_to_restore函數詳解

    對TensorFlow中的variables_to_restore函數詳解

    今天小編就為大家分享一篇對TensorFlow中的variables_to_restore函數詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • python中的__init__ 、__new__、__call__小結

    python中的__init__ 、__new__、__call__小結

    這篇文章主要介紹了python中的__init__ 、__new__、__call__小結,需要的朋友可以參考下
    2014-04-04

最新評論