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

opencv resize圖片為正方形尺寸的實現方法

 更新時間:2019年12月26日 15:02:04   作者:core!  
這篇文章主要介紹了opencv resize圖片為正方形尺寸的實現方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

在深度學習中,模型的輸入size通常是正方形尺寸的,比如300 x 300這樣.直接resize的話,會把圖像拉的變形.通常我們希望resize以后仍然保持圖片的寬高比.

例如:

如果直接resize到的話:

而我們希望得到:

可以利用copyMakeBorder和resize配合達到我們的目的.

import cv2
def resize_keep_aspectratio(image_src,dst_size):
  src_h,src_w = image_src.shape[:2]
  print(src_h,src_w)
  dst_h,dst_w = dst_size 
  
  #判斷應該按哪個邊做等比縮放
  h = dst_w * (float(src_h)/src_w)#按照w做等比縮放
  w = dst_h * (float(src_w)/src_h)#按照h做等比縮放
  
  h = int(h)
  w = int(w)
  
  if h <= dst_h:
    image_dst = cv2.resize(image_src,(dst_w,int(h)))
  else:
    image_dst = cv2.resize(image_src,(int(w),dst_h))
  
  h_,w_ = image_dst.shape[:2]
  print(h_,w_)
  
  top = int((dst_h - h_) / 2);
  down = int((dst_h - h_+1) / 2);
  left = int((dst_w - w_) / 2);
  right = int((dst_w - w_+1) / 2);
  
  value = [0,0,0]
  borderType = cv2.BORDER_CONSTANT
  print(top, down, left, right)
  image_dst = cv2.copyMakeBorder(image_dst, top, down, left, right, borderType, None, value)
 
  return image_dst

image_src = cv2.imread("/home/sc/disk/data/bdd-data/bdd_data/bdd100k/images/10k/train/0a0a0b1a-7c39d841.jpg")
dst_size = (720,720)

image = resize_keep_aspectratio(image_src,dst_size)
cv2.imshow("aaa",image)
print(image.shape)
if 27 == cv2.waitKey():
  cv2.destroyAllWindows()

首先判斷應該用w,h哪個方向的長度做等比縮放,縮放到合適的尺寸后,在用copyMakeBorder對剩余像素進行填充.深度學習中通常用灰度值128進行邊界的填充.以文章開頭的圖片為例,處理后得到的圖片:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Python字典數據對象拆分的簡單實現方法

    Python字典數據對象拆分的簡單實現方法

    這篇文章主要介紹了Python字典數據對象拆分的簡單實現方法,涉及Python針對字典數據的相關遍歷、拆分等操作技巧,需要的朋友可以參考下
    2017-12-12
  • Python基于BeautifulSoup爬取京東商品信息

    Python基于BeautifulSoup爬取京東商品信息

    這篇文章主要介紹了Python基于BeautifulSoup爬取京東商品信息,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • Python Selenium安裝及環(huán)境配置的實現

    Python Selenium安裝及環(huán)境配置的實現

    這篇文章主要介紹了Python Selenium安裝及環(huán)境配置的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • pyqt5 tablewidget 利用線程動態(tài)刷新數據的方法

    pyqt5 tablewidget 利用線程動態(tài)刷新數據的方法

    今天小編就為大家分享一篇pyqt5 tablewidget 利用線程動態(tài)刷新數據的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • pyinstaller?pathex參數引發(fā)打包no?module?name異常

    pyinstaller?pathex參數引發(fā)打包no?module?name異常

    這篇文章主要為大家介紹了一個關于pyinstaller的?pathex?參數所引發(fā)的打包執(zhí)行報no?module?name的異常錯誤解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • python基礎之定義類和對象詳解

    python基礎之定義類和對象詳解

    這篇文章主要為大家詳細介紹了python的定義類和對象,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • 對python的bytes類型數據split分割切片方法

    對python的bytes類型數據split分割切片方法

    今天小編就為大家分享一篇對python的bytes類型數據split分割切片方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • cmd運行python文件時對結果進行保存的方法

    cmd運行python文件時對結果進行保存的方法

    今天小編就為大家分享一篇cmd運行python文件時對結果進行保存的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • python日記(使用TCP實現的對話客戶端和服務器)

    python日記(使用TCP實現的對話客戶端和服務器)

    這篇文章主要為大家介紹了python使用TCP實現的對話客戶端和服務器實現示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • Python利用wxPython制作股票價格查詢工具

    Python利用wxPython制作股票價格查詢工具

    在當今信息時代,金融市場是一個引人注目的話題。本文將介紹如何使用 Yahoo Finance API、yfinance 模塊和 wxPython 庫來創(chuàng)建一個簡單的全球股市實時價格查詢工具,希望大家能夠喜歡
    2023-05-05

最新評論