%本脚本的作用是:在图像中随机取两点,统计两点之间的像素,clc;
clear all;img = imread('F:\DataSet\retina Vessal\all\images\01_dr.jpg');
img = rgb2gray(img);
figure(1), imshow(img);
hold on;
%取点
[coordX, coordY] = ginput(2);
%连线
line([coordX(1) coordY(1)], [coordX(2) coordY(2)], 'Color', 'c');
%线的长度占多少个像素
linelength = ceil(sqrt((ceil(coordX(2)) - floor(coordX(1)))^2 + ...(ceil(coordY(2)) - floor(coordY(1)))^2));
%存储线的灰度值
linepts = zeros(linelength, 2);
idx1 = 1;
idx2 = 1;
for idxx = floor(coordX(1)):ceil(coordX(2))for idxy = floor(coordY(1)):ceil(coordY(2))linepts(idx1, idx2) = img(idxx, idxy);idx1 = idx1 + 1;idx2 = idx2 + 1;end
endhold off;

怎么不能正确显示呢?

修改如下:

%本脚本的作用是:在图像中随机取两点,统计两点之间的像素,
%并将其灰度值绘制成一个曲线图(类似直方图)clc;
clear all;img = imread('F:\DataSet\retina Vessal\all\images\01_dr.jpg');
img = rgb2gray(img);
figure(1), imshow(img);
hold on;
%取点
[coordX, coordY] = ginput(2);
%连线
line(coordX, coordY, 'Color', 'c');
hold off;
%线的长度占多少个像素
linelength = ceil(sqrt((ceil(coordX(2)) - floor(coordX(1)))^2 + ...(ceil(coordY(2)) - floor(coordY(1)))^2));
%存储线的灰度值
linepts = zeros(linelength,1);
idx = 1;
%idx2 = 1;if coordX(1)>= coordX(2) stepx = -1;intfunX1 = 'ceil(coordX(1))';intfunX2 = 'floor(coordX(2))';
elsestepx = 1;intfunX1 = 'floor(coordX(1))';intfunX2 = 'ceil(coordX(2))';
endif coordY(1) >= coordY(2)stepy = -1;intfunY1 = 'ceil(coordY(1))';intfunY2 = 'floor(coordY(2))';
elsestepy = 1;intfunY1 = 'floor(coordY(1))';intfunY2 = 'ceil(coordY(2))';
end%{
%你知道为什么多出这么多像素吗?因为你将那个三角形区域全部计算在内了!
for idxx = eval(intfunX1) : stepx : eval(intfunX2)for idxy = eval(intfunY1) : stepy : eval(intfunY2)linepts(idx) = img(idxx, idxy);idx = idx + 1;        end
end%line([1 1], [233
%hold off;
%}if (coordX(2) - coordX(1)) ~= 0  && (coordY(2) - coordY(1)) ~= 0slopeS = (coordY(2) - coordY(1))/(coordX(2) - coordX(1));cutS = coordY(1) - slopeS * coordX(1);for idxx = eval(intfunX1) : stepx : eval(intfunX2)idxy = ceil(slopeS * idxx + cutS);linepts(idx) = img(idxx, idxy);idx = idx + 1;end
elseif  (coordX(2) - coordX(1)) == 0 for idxy = eval(intfunY1) : stepy : eval(intfunY2)idxx = ceil(coordX(2));linepts(idx) = img(idxx, idxy);idx = idx + 1;end
elsefor idxx = eval(intfunX1) : stepx : eval(intfunX2)idxy = ceil(coordY(2));linepts(idx) = img(idxx, idxy);idx = idx + 1;end
endfigure(2), plot(linepts);%这个脚本的作用:
%       通过鼠标取图像中的两点,连线
%    绘制连线的像素灰度值

MATLAB图像处理与计算机视觉(2):在图像上取点划线相关推荐

  1. 【MATLAB图像处理】计算机视觉基础MATLAB实现读取磁盘中的图像,实现图像转化显示、像素点8-邻域标记、显示两个像素点的像素变化情况

    通过调用Matlab函数完成以下内容 创建n×m大小的灰度图像与彩色图像: 结合subplot.imshow.imtool等函数显示灰度.彩色.伪彩色图像.HSV图像等图像不同显示类型: 提取图像上某 ...

  2. matlab中plot函数如何在图像上标记某些点?

    假设我的图像如下 我想用plot函数标记几个点,代码如下: plot(4,8,'ro','MarkerSize',5);plot(6,1,'ro','MarkerSize',5); 得到的结果图放大局 ...

  3. Matlab图像处理与分析之压力分布图像获得

    (若有侵权,请立刻联系笔者删除) 各位兄弟姐妹们好久不见,由于老板一直在催促着画图所以一直没有更新相关学习内容,此次带来的偏向于对课程实验结果的一次图像处理,测量的是压力分布,谈到压力测量可能我们第一 ...

  4. Matlab图像处理基础(一)图像类型的转换

    图像类型转换 首先我们需要知道图像类型有哪几种:二值图像,灰度图像,真彩色图像,索引色图像 四种. 一. RGB图像转换为灰度图像 需要调用 rgb2gray() 函数,调用格式为: X =rgb2g ...

  5. matlab将某点标红,Draw-a-rectangle-matlab 本程序在图像上指定位置话红色的矩形框作为标记 - 下载 - 搜珍网...

    在图像上画矩形框matlab程序/ 在图像上画矩形框matlab程序/_input/ 在图像上画矩形框matlab程序/_input/01.jpg 在图像上画矩形框matlab程序/_input/02 ...

  6. Matlab图像处理相关

    相关函数: 读取:imread() %参数为文件名(路径)或url,格式等 写入:imwrite() %参数为写入数据矩阵,写入文件名(路径),格式等 显示:imshow() %显示由输入决定,属性自 ...

  7. 数字图像处理:实验一 MATLAB 图像处理基础

    实验一 MATLAB 图像处理基础 MATLAB 具有强大的图像处理工具箱,有助于人们更好的理解各种图像处理算法,通 过调用工具箱中的函数,可以减少编程的复杂性,简化编程.本次实验主要掌握 MATLA ...

  8. 【图像分割】基于计算机视觉实现视网膜图像中的血管分割附matlab代码

    1 简介 视网膜图像里的血管是可以被观察到的一类微血管,并且它是无创伤的,而其分布位置也属于深度部位[5].其分布.结构和形态特征的变化能在一定程度上反映病变的程度.而白血病.糖尿病以及高血压等疾病都 ...

  9. (数字图像处理MATLAB+Python)第四章图像正交变换-第一节:离散傅里叶变换

    文章目录 一:一维离散傅里叶变换 (1)定义 (2)实例 二:一维快速傅里叶变换 (1)定义 (2)实例 三:二维离散傅里叶变换 (1)定义 (2)程序 四:二维离散傅里叶变换的性质 (1)可分性 ( ...

最新文章

  1. 使用ServletContext对象完成网页计数器
  2. RxSwift之UI控件UIActivityIndicatorView与UIApplication扩展的使用
  3. oracle 监控 视图,【转】oracle几个常用的监控视图
  4. 科普扫盲,HTTP Status Code详解,从此排错无忧!
  5. 远程连接 速度慢 显示 正在连接到很久
  6. 39种语言编写的Hello World程序
  7. 如何将ImageRanger与外部存储一起使用NAS或USBUSB驱动器?
  8. java JsonNode 遍历方式
  9. 基本技能 100256
  10. Rose双机热备两款软件原理介绍以及共享存储双机热备方案和镜像双机热备方案介绍
  11. 如何用VNC远程管理Linux桌面
  12. Insyde uefi 隐藏设置_固件级安全,微软安全工具新增UEFI扫描功能
  13. python 运动模拟_Python中的几何布朗运动模拟
  14. 安防摄像头移动侦测和遮挡侦测基本原理
  15. 服务器上网页怎么压缩文件,如何在服务器端实现文件自动压缩和解压
  16. 元旦贺卡html,元旦贺卡祝福语
  17. 大话西游手游服务器维护要多久,大话西游手游7月22日维护及解读
  18. 4.人工智能时代下的大数据
  19. Spring Data 数据库建模最佳实践
  20. 两个网段共享打印机_不同ip段共享打印机设置方法

热门文章

  1. 达内python培训质量怎么样
  2. 【校队+实验班】萌新训练赛【2】
  3. H3C BGP MPLS实验
  4. 计算机体系结构 C4 存储体系
  5. UWB定位+仓储,智能化安全解决方案
  6. java指定日期的季度以及季度第一天和最后一天(季度统计报表)
  7. 使用BT下载是否会损毁SSD?
  8. QQ2009.msi下载
  9. 华为服务器系统蓝屏,云服务器蓝屏
  10. 基于jsp的网上书店系统设计与实现