AttributeError: 'NoneType' object has no attribute 'astype'
となってしまい困っています.プログラムは以下のように画像の輝度値を抽出し,シグモイド関数により強調処理した画像を保存しています.画像を1枚だけ読み込んだ場合はうまくできましたが,連番画像を扱うよう改造したところこのようなエラーがでてしまっています.
参考にしたサイト(https://www.higashisalary.com/entry/cv2-bright-sigmoid)
解答ありがとうございます.連番の画像が
rec4110.pgm
rec4140.pgm
rec4170.pgm
のように,30ずつの幅になっていたことが原因だと分かりました.
そのため,
for i in range(4110,4170,30):
とすることで解決できました.ありがとうございます!
#ライブラリのインポート
from PIL import Image
import os, glob
import matplotlib.pyplot as plt
import numpy as np
import cv2
edge_value=10
i=4110 #スタートフレーム
for i in range(4110,4170):
#ベース画像の読み込み
img = cv2.imread('rec' +str(i) +'.pgm',cv2.IMREAD_GRAYSCALE)
img = img.astype(np.float32)
#画像の輝度変化を強調する処理
edge_value = 53
img_edge = img-edge_value
sigmoid=1/(1+np.exp(-0.1*img_edge))*255
sigmoid=sigmoid.astype(np.uint8)
#画像の出力
cv2.imwrite('edge_value'+str(i)+'.pgm',sigmoid)
i=i+30

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。