思考:勾配値と人間の視覚に応じた輝度強度変化の度合いをシミュレートするために、画像再構成の間に画素値を使用して仮想深。
PIL インポート画像の インポートNPとしてnumpyの = np.asarray(Image.open(' ./beijing.jpg ').convert(' L '))。astype(' フロート' ) 深さ = 10 #のデフォルトの仮想深さは10であり、範囲(0〜100) グラ= np.gradient(A) #は、画像のグレー値勾配をフェッチ grad_x、grad_y =グラ #画像勾配xとy方向に取られました値 grad_x grad_x * =深さ/ 100 #の値は、xとyの勾配の深さ方向に応じて調整される grad_yのgrad_y * =深さ/ 100 。= np.sqrt(grad_x ** 2 + grad_y ** 2 + 1 )。 uni_x = grad_x / A uni_y = grad_y / A uni_z = 1 / A vec_el = np.pi / 2.2 #ソースラジアン頂角、 vec_az = np.pi / 4 #光源の方位角、ラジアン値 DX = np.cos(vec_el)* np.cos(vec_az) #1 xの源軸効果 のDy = np.cos(vec_el)* np.sin(vec_az) #1 、y軸上の光効果 DZ = np.sin(vec_el) #1 、z軸のソース影響 B = 255 *(DX + Dyを* uni_x * uni_z uni_y DZ + *) #のソース正規 B = b.clip(0,255) #は、範囲外のデータを避けるため、生成した階調値0〜255の範囲のカット IM = Image.fromarray(b.astype(' UINT8 ')) #再構成画像 im.save('./beijingHD.jpg ")
注意:サードパーティ製のライブラリが枕インストールする必要があります