日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

CenterCrop图像裁剪原理

發(fā)布時(shí)間:2023/12/9 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CenterCrop图像裁剪原理 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

CenterCrop模式解決的就是:

  • ??圖片要去兩頭,留中間?
  • ? 圖片要填充滿控件
  • ? 我們按照Image與ImageView的寬高比差值,分兩種情況進(jìn)行討論。

    ? 假設(shè)原始圖片高h(yuǎn),寬w , Imageview的高y,寬x ,比較兩者高寬比。裁剪出的圖稱為Image1:

    ? 1、 當(dāng) y / x - h / w > 0 時(shí)

    ? 說(shuō)明Imageview的高寬比大于圖片的高寬比,如圖所示:

    左圖實(shí)線標(biāo)示的是圖片Image的高和寬,右圖是Imageview。 我們需要從Image的中間按照比例y/x裁剪出一幅圖Image1來(lái),如圖中虛線所示。

    ? 顯而易見(jiàn),Image1的寬度是w1,高度是h 。

    ? Image1的高寬比必須和Imageview的高寬比相同,即 y / x = h / w1 , 計(jì)算出 w1 = (h * x )/ y
    ?

    ?2、當(dāng) y / x - h / w <= 0時(shí)

    ? 說(shuō)明Imageview的高寬比小于圖片的高寬比,如圖所示:

    顯而易見(jiàn),Image1高度為h1, 寬度為w ,依據(jù) y / x = h1 / w , 計(jì)算出 h1 = (w * y) / x

    pytorch官方文檔說(shuō)明:

    ?

    現(xiàn)在通過(guò)一個(gè)案例進(jìn)行介紹:

    代碼:

    import torchvision.transforms import PIL.Image as Image import torchvision.transforms#讀入圖片 image=Image.open("/home/alisa/PycharmProjects/attack/target_attack/1/train_target.png") print(image.size, image.format, image.mode)#生成一個(gè)CenterCrop類的對(duì)象,用來(lái)將圖片從中心裁剪成224*224 crop_obj = torchvision.transforms.CenterCrop((224, 224)) image = crop_obj(image) #將裁剪之后的圖片保存下來(lái) image.save("/home/alisa/PycharmProjects/attack/target_attack/1/train_target2.png", format='PNG')

    效果:

    總結(jié)

    以上是生活随笔為你收集整理的CenterCrop图像裁剪原理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。