大家好,我是辰哥。
相信大家也遇到過這種困擾--照片模糊(幾年前的照片),拍照設備的逐年增強,對比之下幾年拍的照片都模糊了。
網上一些圖片高清化的平台需要收費,今天辰哥就來教大家如何讓一張模糊(非高清)的照片高清化。
先看效果(高清化前后的對比):
左邊是原始照片(高清前),右邊是高清化照片。
第一張照片來源官方案例,第二張是辰哥的2013年拍的照片。
1
思路分析
圖片增強(高清化)的方法可以從兩方面入手:
自己在網上找開源或者自己編寫神經網絡結構,借助數據集進行訓練,然后得到模型。但是這種方法對應小白或者沒有接觸深度網絡(人工智能)方面的小伙伴,簡直太難了。
竟然如此,那么就看下面第二種方法。
借助第三方接口,直接調用接口就可以將圖片轉化為高清。
本文中,辰哥也是手把手教大家如何借助第三方(百度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'])
上面需要改動的有兩處:
辰哥.jpg(待高清的照片路徑)
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:辰哥自己建了一個交流群(非推銷、廣告群),只是作為交流技術使用,里面都是一群志同道合,想要學習更多技術的小伙伴在里面。辰哥已經給你搭建好交流平台,現在就差你了。
需要加群學習的小伙伴,可以在公眾號后台加辰哥微信(備注:加群),辰哥拉你進群(廣告推銷勿擾,速踢)