rge图片灰度化之后,往往存在灰度值比较近的情况。根据自己的需求将灰度值调到两个极端值,也叫做阈值处理。

本文的阈值是自定义的,建立在已经读取到灰度图片灰度值的基础之上。

存在获取灰度图片最佳阈值的算法——大津法,也叫最大类间方差法,被认为是图像分割中阈值选取的最佳算法,计算简单,不受图像亮度和对比度的影响,因此在数字图像处理上得到了广泛的应用。

H = imread('test.png');
I = rgb2gray(H);            % 灰度化

方法1:

matlab内置函数imagesc,可以根据自定义的阈值将首尾两端的值映射到一致的值。

这是matlab提供的示例:

C = [0 2 4 6; 8 10 12 14; 16 18 20 22];
clims = [4 18];
imagesc(C,clims)
colorbar

小于4的像素块被统一映射到4,大于18的像素块被统一映射到18

采用这种方法调试灰度地图:

imagesc(I, [219, 220]);            % 读取图片灰度知道海域的灰度值是218,只需要将海域和其他障碍物区分即可
colormap(gray);
colorbar;

原图:

简单二值化:

这里存在的问题是,可行区域和障碍物的灰度值相差不大,不能真正做到二值化

而且,可行区域被设置成黑色,障碍物被设置成白色,不能随意设置。


方法2:

[m, n] = size(I);                        % 获取灰度值矩阵的行列
for i = 1:mfor j = 1:nif I(i, j) == 218                % 已知可行海域灰度值为218I(i, j) = 255                % 可行区域设置成白色elseI(i, j) = 0                  % 其他障碍物设置成黑色endend
end
imshow(I);
colorbar;

直接遍历像素矩阵,设定灰度值

结果:

灰度图片二值化matlab相关推荐

  1. python图像灰度化_python实现图片二值化及灰度处理方式

    python实现图片二值化及灰度处理方式 我就废话不多说了,直接上代码吧! 集成环境:win10 pycharm #!/usr/bin/env python3.5.2 # -*- coding: ut ...

  2. python灰度处理打印图片_python实现图片二值化及灰度处理方式

    我就废话不多说了,直接上代码吧! 集成环境:win10 pycharm #!/usr/bin/env python3.5.2 # -*- coding: utf-8 -*- '''4图片灰度调整及二值 ...

  3. Java图像处理:灰度、二值化、浮雕、去色、反向、怀旧、放大镜等

    图像是由一个个像素点组合而成,图像处理本身实际上是遍历图像的像素点,对像素点的RGB值进行更改,以达到图像处理的目的. 接下来,我们主要介绍一下图片转化为二维像素点数组的方法以及部分图像处理如灰度.二 ...

  4. 【pytorch】yolov4 实现对蛾子数据集的识别 以及 对蛾子图片二值化处理 实现 自动打标签标注。(本文重点在自动实现将图片转化为voc数据集)

    文章目录 一.之前工作回顾 二.图片处理过程 (1)图片的裁剪 (2)生成xml文件的相关代码 三.使用yolov4模型,训练预测蛾子数据集 四.项目步骤记录 五.数据标注范例 六.关于xml的创建. ...

  5. 图像灰度、二值化、膨胀和腐蚀(纯Java篇)

    在c.c++或者python环境中可以使用opencv非常容易实现图像灰度.二值化.膨胀和腐蚀等功能:但在java环境中,使用opencv来处理相对比较麻烦,简单的操作用opencv处理也相对过重,这 ...

  6. opencv 二值化 matlab,opencv-python图像二值化函数cv2.threshold函数详解及参数cv2.THRESH...

    cv2.threshold()函数的作用是将一幅灰度图二值化,基本用法如下: #ret:暂时就认为是设定的thresh阈值,mask:二值化的图像 ret,mask = cv2.threshold(i ...

  7. matlab利用滑动条控制图片二值化阈值

    前言 由于做项目的时候需要对图片进行二值化,而且图片不同需要达到二值化的效果也不同,如果一直要在程序里试探阈值比较麻烦.所以想利用图像界面中的滑动条人工控制二值化阈值. 一.主要步骤 1. 在matl ...

  8. MATLAB中将pgm图片二值化

    读取 pgm文件 L=imread('XXX.pgm') 二值化 logicalMap=imbinarize(L) 等比例缩放 map = binaryOccupancyMap(logicalMap, ...

  9. 图像二值化 php im2bw,图像二值化-MATLAB实现

    1.图像二值化代码: A=imread('hw1.chips1.GIF'); %读取到一张图片 %thresh = graythresh(A); %自动确定二值化阈值 I2 = im2bw(A,120 ...

最新文章

  1. InnoDB的启动,关闭,恢复
  2. 虚拟化+云服务器,虚拟化+云服务器
  3. C#面向对象10 继承
  4. Android实现计时与倒计时的几种方法
  5. log4cplus指南
  6. 设备健康管理平台如何为企业打造五大核心设备管理体系?
  7. 新颖的_基于web的毕业设计题目50例
  8. 10个全网最具创意的聊天机器人:漫威和联合国儿童基金会都在尝试使用聊天机器人
  9. 教你学java_教妹学Java:Spring 入门篇
  10. 服务端开发or客户端开发的选择
  11. 国服最强王者之最良心王者
  12. js input 正则保留2位小数中文拼音输入问题 + 限制输入整数的方案
  13. 如何选择统计检验方法
  14. 全局变量的优缺点及为什么要少用全局变量
  15. ppt课堂教学流程图_教学流程图大全(教学PPT)
  16. Linux内核的下载和解压
  17. 淘宝店铺推广难?这些方法你还没掌握!
  18. vue脚手架vue-cli的卸载与安装方式
  19. 华为云服务-运维篇-弹性负载均衡
  20. java hibernate 是什么意思_Java开源项目Hibernate意义是什么?

热门文章

  1. 利用jvisualvm.exe搞一个关于生产者消费者的另一些纠结的问题
  2. 全网最全-QCC51xx-QCC30xx(TWS)系列从入门到精通开发教程汇总(持续更新中)
  3. wamp+cmd命令行配置zend框架
  4. 7-python库之-pyautogui鼠标键盘控制、图片位置查找
  5. 如何成为数据分析师之课程学习篇
  6. 使用python画图案例大全【画玫瑰花、樱花树、小黄人等】
  7. 云便签Mac和Web网页版怎么对便签内容排序?
  8. c语言while的读音,c++中所有关键字的发音和意思,要详细!!!!
  9. 计算机制作画报说课稿,幼儿园美术手工说课稿
  10. 盖泽尔智力测试软件,10个月钟小安参加盖泽尔(GESELL)婴儿智能发育测试