最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

opencv resize圖片為正方形尺寸的實(shí)現(xiàn)方法

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

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

例如:

如果直接resize到的話:

而我們希望得到:

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

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 
  
  #判斷應(yīng)該按哪個(gè)邊做等比縮放
  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()

首先判斷應(yīng)該用w,h哪個(gè)方向的長(zhǎng)度做等比縮放,縮放到合適的尺寸后,在用copyMakeBorder對(duì)剩余像素進(jìn)行填充.深度學(xué)習(xí)中通常用灰度值128進(jìn)行邊界的填充.以文章開(kāi)頭的圖片為例,處理后得到的圖片:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

诸城市| 开化县| 廉江市| 康马县| 胶州市| 海阳市| 治县。| 蒙城县| 图片| 红原县| 会理县| 遂平县| 本溪市| 尼玛县| 丰城市| 卢龙县| 东宁县| 龙口市| 宜宾市| 玉田县| 松江区| 佛冈县| 清苑县| 阳新县| 上栗县| 万年县| 英山县| 岳阳县| 武城县| 赣榆县| 宁德市| 上虞市| 阳曲县| 积石山| 黄骅市| 大埔区| 双流县| 昌乐县| 盐源县| 鱼台县| 克什克腾旗|