当前位置: 首页 > news >正文

【脑切片图像分割】MATLAB 图像处理 源码

1. 简单图像处理

加载图像 Brain.jpg,使用直方图和颜色分割成区域这些区域有不同的颜色。 这是一个更高级的问题,有多个解决它的方法。
例如,您可以计算具有特定数字的图像的直方图(例如 16 - 32),找到直方图中最小值的位置(参见,例如,islocalmin)并对最小值之间的强度区域应用不同的颜色。这可以通过将强度值作为颜色查找表的索引来完成(例如 hsv 生成)并将强度值重新映射到此类(请参阅 ind2rgb)。 您可以还可以通过灰度强度来缩放颜色的强度。

brain.jpg

2. MATLAB 源码

% Load and show image
im = imread('brain.jpg');
im = rgb2gray(im);
figure(1);
clf;
subplot(1,3,1);
imshow(im);% Histogram
bins = 24;
subplot(1,3,2);
[counts,idx] = imhist(im,bins);
plot(idx,counts);
axis tight;
% Find minima and make sure they are integers
minima = round(idx(islocalmin(counts))');
xline(minima);% Color regions by mapping greyscale to colormap indices
colors = hsv(numel(minima)+1); % HSV colormap for base-color for region (over hue values only)
cc = 1;
p = 0;
map = zeros(256,3);
for l = [minima, 256] % cover index (intensity) ranges from p to l, including the last one to 256cidx = (p+1):l;for k = cidx % Loop for simplicity (instead of matrix operation)%map(k,:) = colors(cc,:);         % No scaling w.r.t original itensity%map(k,:) = colors(cc,:) * k/256; % Linearly scale color value w.r.t. original intensitymap(k,:) = colors(cc,:) * (0.25 + (k-p-1)/(l-p-1)*0.75); % Different color itensity scalingendp = l;cc = cc + 1;
end
imc = ind2rgb(im,map);
subplot(1,3,3);
imshow(imc);% Show ranges in histogram by overlaying colors (could be integrated in above loop)
subplot(1,3,2);
y1 = 0;
y2 = max(counts);
cc = 1;
p = 0;
for l = [minima,256]h = rectangle('Position', [p, 0, l-p, y2], ...'FaceColor', [colors(cc,:),0.3], ...'EdgeColor', [colors(cc,:),0.3]);p = l;cc = cc + 1;
end

3. 输出结果

脑切片图像分割结果
在这里插入图片描述

在这里插入图片描述

http://www.lryc.cn/news/311319.html

相关文章:

  • 深度学习系列61:在CPU上运行大模型
  • IO接口 2月5日学习笔记
  • Android Studio开发(一) 构建项目
  • stm32flash模拟eeprom
  • 多模态MLLM都是怎么实现的(2)-DDPM
  • QT----写完的程序打包为APK在自己的手机上运行
  • Windows C++ SecurityImpersonation级别:线程临时采用另一个用户(客户端)的身份进行操作的能力
  • 重学SpringBoot3-yaml文件配置
  • 【管理咨询宝藏资料33】某头部咨询公司组织效能提升模型方案
  • 特征值和特征向量及其在机器学习中的应用
  • 【Vue3】Ref 和 ShallowRef 的区别
  • Linux - 进程概念
  • H5小游戏,象棋
  • LLM春招准备(1)
  • 网络安全知识点总结
  • 服务完善的智能组网系统?
  • VS2022如何添加行号?(VS2022不显示行号解决方法)
  • 125.验证回文字符串
  • Spring Boot的启动流程(个人总结,仅供参考)
  • 用BIO实现tomcat
  • JS逆向进阶篇【去哪儿旅行登录】【下篇-逆向Bella参数JS加密逻辑Python生成】
  • 【机器学习】生成对抗网络GAN
  • centos7安装kafka、zookeeper
  • 基于 STM32U5 片内温度传感器正确测算温度
  • 【比较mybatis、lazy、sqltoy、mybatis-flex、easy-query操作数据】操作批量新增、分页查询(三)
  • Leetcode 3068. Find the Maximum Sum of Node Values
  • 用 Dockerfile为镜像添加SSH服务
  • Maven能解决什么问题?为什么要用?
  • 【Golang星辰图】探索网络和HTTP的奇妙世界:使用Go语言打造高性能应用
  • [C语言]——操作符