フィルターのクリア

Laplacian and sobel for image processing

5 ビュー (過去 30 日間)
John Snow
John Snow 2013 年 11 月 25 日
コメント済み: Image Analyst 2021 年 11 月 19 日
Hello im having trouble finding how to do the laplacian and sobel of an image I tried the following but none of the 2 results are like what is showed in the book The original image i'm working on is image (a)
Code I tried:
img = imread ('imagename'); A=[0 -1 0 ; -1 4 -1 ; 0 -1 0]; result1 = imfilter (img,A); result2 = conv2 (img,A);
********************
Here are the book results

採用された回答

Image Analyst
Image Analyst 2013 年 11 月 25 日
Well you're not doing the Laplacian or Sobel. Try using the correct kernel and the correct function imgradient). Try the code I wrote for you below in blue.
  8 件のコメント
bini kif
bini kif 2021 年 11 月 19 日
@Image Analyst in test.m
Image Analyst
Image Analyst 2021 年 11 月 19 日
To make sure that the output values of hte convolution were in the same range as the input image. Otherwise, worst case where the center value is 255 and the outer values are zero then the output would be 8*255. That is more than the range of the input values. So just to make sure that case would get you a value of 255 instead of 8*255, I divided by 8.

サインインしてコメントする。

その他の回答 (1 件)

Bruno Pop-Stefanov
Bruno Pop-Stefanov 2013 年 11 月 25 日
Make sure img is in right format. imfilter will work on a grayscale uint8 image. However, conv2 will only work on a double image. Use im2double to convert it.
  5 件のコメント
Image Analyst
Image Analyst 2013 年 11 月 25 日
John, my code does exactly what you wanted.
John Snow
John Snow 2013 年 11 月 25 日
Sorry I was typing this when you posted I accepted the answer its perfect

サインインしてコメントする。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by