照片模糊?辰哥手把手教你用Python讓照片高清化


大家好,我是辰哥。

相信大家也遇到過這種困擾--照片模糊(幾年前的照片),拍照設備的逐年增強,對比之下幾年拍的照片都模糊了。

網上一些圖片高清化的平台需要收費,今天辰哥就來教大家如何讓一張模糊(非高清)的照片高清化

先看效果(高清化前后的對比):

左邊是原始照片(高清前),右邊是高清化照片。

第一張照片來源官方案例,第二張是辰哥的2013年拍的照片。

1

思路分析

圖片增強(高清化)的方法可以從兩方面入手:

  1. 自己在網上找開源或者自己編寫神經網絡結構,借助數據集進行訓練,然后得到模型。但是這種方法對應小白或者沒有接觸深度網絡(人工智能)方面的小伙伴,簡直太難了。

    竟然如此,那么就看下面第二種方法。

  2. 借助第三方接口,直接調用接口就可以將圖片轉化為高清。

本文中,辰哥也是手把手教大家如何借助第三方(百度AI)接口,對照片進行高清化。

2

申請權限

百度AI平台提供的應用接口,需要權限(token)才可以使用,這里token可以通過賬號免費獲取到。

首先在百度AI平台注冊賬號(百度雲賬號也可以),然后進入到:圖像增強與特效板塊

https://console.bce.baidu.com/ai/?_=1621146718569&fromai=1#/ai/imageprocess/app/list

然后點擊創建應用(這里辰哥已經創建好了:圖像小程序),創建之后就可以獲取到APIkey和Secret key ,這兩個參數在獲取token的時候用到。

開始獲取token

# client_id 為官網獲取的AK, client_secret 為官網獲取的SK
import requests
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【官網獲取的AK】&client_secret=【官網獲取的SK】'
response = requests.get(host)
if response:
    print(response.json())
access_token = response.json()['access_token']
print(access_token)

這里AK和SK就是上面的APIkey和Secret key

這樣就獲取到token(一會在使用照片高清化接口,通過token去授權調用

3

照片高清化

獲取到token之后,現在可以開始調用圖片高清化接口

官方接口文檔

https://ai.baidu.com/ai-doc/IMAGEPROCESS/5k4i6mzqk

開始寫程序

'''
圖像清晰度增強
'''
request_url = "https://aip.baidubce.com/rest/2.0/image-process/v1/image_definition_enhance"
# 二進制方式打開圖片文件
f = open('辰哥.jpg', 'rb')
img = base64.b64encode(f.read())


params = {"image":img}
access_token = '上面獲取的token值'
request_url = request_url + "?access_token=" + access_token
headers = {'content-type': 'application/x-www-form-urlencoded'}
response = requests.post(request_url, data=params, headers=headers)
if response:
    print (response.json()['image'])


上面需要改動的有兩處:

  1. 辰哥.jpg(待高清的照片路徑)

  2. access_token(自己的token值)

問題:這里返回的是base64值(圖片的二進制值),不是直接返回圖片。

我們需要將base64轉為圖片。

imgdata = base64.b64decode(response.json()['image'])
file = open('辰哥高清.jpg', 'wb')
file.write(imgdata)
file.close()

response.json()['image']就是接口返回的base64值,轉為圖片后,保存命名為:辰哥高清.jpg

最后高清化的圖片就成功保存到本地。其結果如下:

4

小結

本文辰哥手把手教大家如何將一張模糊的照片進行高清化,這里是使用的第三方(百度)接口,如果有接觸過深度學習(人工智能)的讀者可以嘗試自己訓練模型。ok,本文的講解就先到這里。

本文代碼獲取方式:公眾號后台回復:照片高清化

最后說一聲:原創不易,求給個贊、在看、評論

推薦閱讀

采集+圖譜可視化|手把手教你采集明星人物關系並進行圖譜展示

1953~2021年七次全國人口普查以及各省人口數量變化情況

粉絲讓我爬取熱搜話題,結果做成了實時熱搜『跑馬燈』可視化

ps:辰哥自己建了一個交流群(非推銷、廣告群),只是作為交流技術使用,里面都是一群志同道合,想要學習更多技術的小伙伴在里面。辰哥已經給你搭建好交流平台,現在就差你了。

需要加群學習的小伙伴,可以在公眾號后台加辰哥微信(備注:加群),辰哥拉你進群(廣告推銷勿擾,速踢


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM