identifying number on dice
显示 更早的评论
% I want to crop the front face of dice and identify the number on it. I tried the following
A=imread('dice.png');
figure,imshow(A); title('Original Image');
%Convert the Image to binary
B=im2bw(A);
%Fill the holes
C=imfill(B,'holes');
%Label the connected components
[Label,Total]=bwlabel(C,8);
figure,imshow(C); title('Labelled Image');
% then I did the following
D=imsubtract(B,C);
imshow(D);
%
where Background is black, dice is white with black dots. But WHEN BACKGROUND IS NOT PERFECTLY BLACK THEN IT CREATES PROBLEM. CAN YOU PLZ TELL ME HOW REMOVE BACKGROUND AND CROP ONLY DICE PART?
2 个评论
Aayush Maharjan
2020-10-21
How can I do the same using python.??? I don't understand Matlab code.
Image Analyst
2020-10-21
What do you understand? Python? If so, you should know the corresponding functions in Python. I don't know Python's library functions well enough to do the conversion for you. But presumably you know Python much better than MATLAB so you should be able to translate it yourself. If you don't, then try asking in a Python language community forum.
采纳的回答
更多回答(1 个)
Image Analyst
2014-5-25
0 个投票
You forgot to attach your image(s). It's more difficult to give advice on image processing without an image. Maybe you can do a median filter or maybe call bwareaopen, or do some size filtering. If the black spots in the background are the same size as your spots, you will have to make a mask. Threshold for bright things, fill them in, then take the largest.
类别
在 帮助中心 和 File Exchange 中查找有关 Call Python from MATLAB 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!