Azzera filtri
Azzera filtri

how to convert pixel value to 0 and 1 only or (0 and 255) only?

8 visualizzazioni (ultimi 30 giorni)
I tried to used (rgb2gray) and (imbinarize) for each image but I cannt get only 1 and 0 value , still have 148 and others
how to fix it?
  3 Commenti
yasmin ismail
yasmin ismail il 15 Ott 2023
Modificato: Walter Roberson il 15 Ott 2023
@Dyuman Joshi thanks alot
but I got another error as following:
im = imread('Label7027_157.png');
im_gray2 = rgb2gray(im);
im_bin2 = imbinarize(im_gray2);
all(ismember(im_bin2,[0 1]),'all')
im = imread('new7027-157.png');
im_gray1 = rgb2gray(im);
im_bin1 = imbinarize(im_gray1);
all(ismember(im_bin,[0 1]),'all')
%%Jcard index
A = imread(im_bin1);
BW_groundTruth =imread('im_bin2');
similarity = jaccard(A, BW_groundTruth)
Error using imread>parse_inputs (line 504)
The file name or URL argument must be a character vector or string scalar.
Error in imread (line 342)
[source, fmt_s, extraArgs, was_cached_fmt_used] = parse_inputs(cached_fmt, varargin{:});
Error in trial2 (line 25)
A = imread(im_bin1);
how to fix it?
Image Analyst
Image Analyst il 15 Ott 2023
Don't call imread (you already did that) and don't put quotes around im_bin2 in this line:
BW_groundTruth = imread('im_bin2');
Do this instead:
BW_groundTruth = im_bin2;

Accedi per commentare.

Risposta accettata

Dyuman Joshi
Dyuman Joshi il 15 Ott 2023
Use the binary images obtained via imbinarize as the input to jaccard -
im2 = imread('Label7027_157.png');
im_gray2 = rgb2gray(im2);
im_bin2 = imbinarize(im_gray2);
all(ismember(im_bin2,[0 1]),'all')
ans = logical
1
im1 = imread('new7027-157.png');
im_gray1 = rgb2gray(im1);
im_bin1 = imbinarize(im_gray1);
all(ismember(im_bin1,[0 1]),'all')
ans = logical
1
%% Jcard index
similarity = jaccard(im_bin1,im_bin2)
similarity = 0.1260
  2 Commenti
yasmin ismail
yasmin ismail il 15 Ott 2023
@Dyuman Joshi thanks alot for your help, my last question do you have any suugestion to improve the smilarity between the two images , i used label app to labeled crack in the original attached image(7027-157.png), then I got the labed image (label 7027_157.png) and i compared it with (new7027_157.png) .I applied jaccard index but as you know creating ground truth doesnt give accurate result although if you see the labeled and (new7027_157.png) approximatly same , so is there another way to measure similarity instead of jaccard indix , like compare number of pixels or anything else. I am not expert in image processing and new biggener in matlab. I appreciate your help
Dyuman Joshi
Dyuman Joshi il 16 Ott 2023
@yasmin ismail, That question is not related to your original question. Also, it is more related to Image processing than it is related to MATLAB. So, I will not be answering it (nor do I have enough experience with Image processing).
So, if my answer solved the questions you have asked, please consider accepting it.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Image Processing Toolbox in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by