私はちょうどグレイスケールの画像のコントラスト/明るさを調整して、CのOpencvでその画像の白を強調表示しようとしています。どうすればいいですか? opencvでこのタスクを行う関数はありますか?CでOpenCVのコントラストを調整するにはどうしたらいいですか?
オリジナル画像:
修正画像:
事前に感謝します!
私はちょうどグレイスケールの画像のコントラスト/明るさを調整して、CのOpencvでその画像の白を強調表示しようとしています。どうすればいいですか? opencvでこのタスクを行う関数はありますか?CでOpenCVのコントラストを調整するにはどうしたらいいですか?
オリジナル画像:
修正画像:
事前に感謝します!
私はあなたの2つの方法で、ここでコントラストを調整することができると思います。Histogram Equalization :
)
1しかし、私は自分のイメージでこれをしようとしたとき、結果はあなたが期待通りではなかったです。以下にそれをチェック:
2)しきい:
をここで、iは127
を取った任意の値()と入力の各画素値を比較しました。以下は、opencvでinbuilt関数を持つロジックです。
このために、あなたはに強制されている場合Threshold functionまたはcompare function
3)を使用することができます:But remember, output is Binary image, not grayscale as you did.
If (input pixel value >= 127):
ouput pixel value = 255
else:
output pixel value = 0
以下は、私が得た結果であり、グレースケールイメージを出力として取得するには、次のようにします。:
(コードは、OpenCVの、Pythonであるが、すべての機能のために、対応するC関数がopencv.itseez.comに入手可能である)
for each pixel in image:
if pixel value >= 127: add 'x' to pixel value.
else : subtract 'x' from pixel value.
( 'x' は任意の値である。)このよう明画素と暗画素の差が大きくなる。
img = cv2.imread('brain.jpg',0)
bigmask = cv2.compare(img,np.uint8([127]),cv2.CMP_GE)
smallmask = cv2.bitwise_not(bigmask)
x = np.uint8([90])
big = cv2.add(img,x,mask = bigmask)
small = cv2.subtract(img,x,mask = smallmask)
res = cv2.add(big,small)
、以下の結果が得られた:
ありがとうございます。しきい値処理が完璧に機能します! – edsonlp1
これらのうち、コントラストをどのように調整するかという問題には触れていません。 –
質問タイトルは「コントラストの調整方法」です。しかし、彼が問題にしたいことは、画像の白い部分を強調することです。だから、私は知識があれば答えました。そして、コメントで、OPは彼のために完璧に働く一つの方法を語った。だから私はそれが問題に取り組んだと思う。タイトルだけを考慮して、あなたは正しいかもしれません。 :) –
ヒストグラムを使用する必要があります。おそらくイコライジングするだけです。ここにはtutorialがあり、ここにはC API descriptionがあります。
公式OpenCVのドキュメントこのテーマについて、Brightness and contrast adjustments、株式コードとタスクを達成する方法についての詳細な説明。
また、OpenCV CLAHEアルゴリズムをチェックアウトすることもできます。ヒストグラムをグローバルに均等化する代わりに、画像をタイルに分割し、それらをローカルに均等化してから、それらを一緒に縫い合わせます。これははるかに良い結果を与えることができます。 OpenCVの3.0.0であなたのイメージと
:
import cv2
inp = cv2.imread('inp.jpg',0)
clahe = cv2.createCLAHE(clipLimit=4.0, tileGridSize=(8,8))
res = clahe.apply(inp)
cv2.imwrite('res.jpg', res)
はかなりいいものを提供します
それは超便利ではないのですが、ここではそれについての詳細を読む http://docs.opencv.org/3.1.0/d5/daf/tutorial_py_histogram_equalization.html#gsc.tab=0
opencvで調整することは可能です。しかし、あなたがイメージを追加して、あなたが望むものを説明することができれば、より有益でしょう。 –
@Abid Rahman K Imagesが追加されました。 – edsonlp1
結果として2番目のイメージがありますか?もしそうなら、どうしたのですか?同じことをOpencvで行うことができます –