clc;
clear;
img1=imread('E:\matlab\zebrafish\zebrafish.jpg');
figure('name','显示原始图像');
imshow(img1);
img2 = rgb2gray(img1); %转换成灰度图像
figure('name','显示灰度图像');
imshow(img2);
%thresh = graythresh(img2); %获取转换成二值图像的阈值
img3 = im2bw(img2,0.64); %转换为二值图像,手动调整阈值,保证斑马鱼外轮廓比较准确
figure('name','显示二值图像');
imshow(img3);
img4 = bwareaopen(img3,4300); %删除二值图像img3中面积小于500的对象
figure('name','显示滤除内部噪声后的图像');
imshow(img4);
img5=1-img4;%图像反转
figure('name','显示反转后的图像');
imshow(img5);
img5 =bwareaopen(img5,53000); %去噪,阈值选取很大,其实是要去掉鱼身体外部的痕迹,只留下整个鱼身
figure('name','显示滤除外部噪声及重心标记后的图像');
imshow(img5
clear;
img1=imread('E:\matlab\zebrafish\zebrafish.jpg');
figure('name','显示原始图像');
imshow(img1);
img2 = rgb2gray(img1); %转换成灰度图像
figure('name','显示灰度图像');
imshow(img2);
%thresh = graythresh(img2); %获取转换成二值图像的阈值
img3 = im2bw(img2,0.64); %转换为二值图像,手动调整阈值,保证斑马鱼外轮廓比较准确
figure('name','显示二值图像');
imshow(img3);
img4 = bwareaopen(img3,4300); %删除二值图像img3中面积小于500的对象
figure('name','显示滤除内部噪声后的图像');
imshow(img4);
img5=1-img4;%图像反转
figure('name','显示反转后的图像');
imshow(img5);
img5 =bwareaopen(img5,53000); %去噪,阈值选取很大,其实是要去掉鱼身体外部的痕迹,只留下整个鱼身
figure('name','显示滤除外部噪声及重心标记后的图像');
imshow(img5