matlab 彩色图像转化成灰度图像,灰度图像降低灰度级
灰度级数k,k=2^b,称该图像为b比特图像。
降低灰度级数是靠2的幂次方
网上代码:https://blog.csdn.net/silence2015/article/details/68927360
function changereduce_factor(imgpath,reduce_factor)
% Write a computer program capable of reducing the number of intensity levels in an image from to ,
% in integer powers of . The desired number of intensity levels needs to be a variable input to your program.
f = imread(imgpath);
if reduce_factor<
reduce_factor=
else if reduce_factor>
reduce_factor=
end
end dfactor=uint8(^reduce_factor);
f_trans=(f/dfactor)*dfactor;
subplot(,,);
imshow(f);
subplot(,,);
imshow(f_trans); end
其中reduce_factor=8表示原图像是一张8bit图像,有灰度级dfactor是256,
所以(f/dfactor)取整只有两个结果0或者1,然后再乘灰度级就变成了黑白图片(只有两个灰度级)
那么当reduce不等于比特图像那个值的时候会出现什么结果,如果大于,那么图像是全黑的0,小于的话取整运算的结果将不只是0,1,还会出现更多数
但是还是小于比特图像数,也就做到了将灰度值降低。
pic=imread('pic/coltogray/1.jpg');
##gray_pic=rgb2gray(pic);
##figure()
##imshow(gray_pic)
[x,y,z]=size(pic);
graypic=zeros(x,y);
level=
dfactor=uint8(^level)
max1=;
min1=;
for i=:x
for j=:y
sum=;
for k =:z
sum=sum+pic(i,j,k)/;
end
graypic(i,j)=sum;
graypic1(i,j)=(sum/dfactor)*dfactor;
end
end
graypic=uint8(graypic);
graypic1=uint8(graypic1);
figure();
imshow(graypic);
figure();
imshow(graypic1);
%将三维图像压缩至一维即可以看作是灰度图像?




matlab 彩色图像转化成灰度图像,灰度图像降低灰度级的更多相关文章
- 怎么样用opencv将彩色图片转化成像素值只有0和255的灰度图?
分类: OpenCV [Q1]怎么样用opencv将彩色图片转化成像素值只有0和255的灰度图? 进行灰度化,IplImage* pImg = cvLoadImage( "C:\\1.b ...
- 60701BMP彩色图像转化为灰度及二值图像
1 概述 多媒体技术是一门综合了多种学科的新技术,其涉及到计算机科学与技术.通信和网络技术.人工智能技术.微电子技术.数字信号处理.图形处 理技术.声像技术等诸多学科.许多新技术的不断出现和体验,带给 ...
- [LeetCode] Integer to Roman 整数转化成罗马数字
Given an integer, convert it to a roman numeral. Input is guaranteed to be within the range from 1 t ...
- HTML5将图片转化成字符画
HTML5将图片转化成字符画 字符画大家一定非常熟悉了,那么如何把一张现有的图片转成字符画呢?HTML5让这个可能变成了现实,通过canvas,可以很轻松实现这个功能.其实原理很简单:扫描图片相应位置 ...
- xml格式的数据转化成数组
将得到的xml格式的数据转化成数组 <?php //构造xml $url = "http://api.map.baidu.com/telematics/v3/weather?locat ...
- yii2得到的数据对象转化成数组
yii2得到的数据对象转化成数组需要用到asArray().1.Customer::find(['id' => $id])->asArray()->one();2.$model = ...
- 通过pinyin4j.jar将(汉字拼音混合字符串)转化成字母首字母
通过pinyin4j.jar将(汉字拼音混合字符串)转化成字母首字母 例如 我的中国心 ==> wdzgx 我的中国心ya ==> wdzgxya woai我的中国 ==> w ...
- 将数据转化成字符串时:用字符串的链接 还是 StringBuilder
/* 目的:将数据转化成字符串时:用字符串的链接 还是 StringBuilder呢? */ public class Test{ public static void main(String[] a ...
- Eclipse-将svn上的项目转化成相应的项目
这里假设svn上的项目为maven项目 首先从svn检出项目 其中项目名称code可自己定义更改新的名称 从svn检出的项目结构 然后将项目转化成相关的项目 转换加载中 加载/下载 maven相关内容 ...
随机推荐
- 【JVM】【linux】linux上执行jmap命令查看JVM内存使用情况,报错:sun.jvm.hotspot.debugger.NoSuchSymbolException: Could not find symbol "gHotSpotVMTypes" in any of the known library name
运行命令: jmap -heap 报错如下: Attaching to process ID , please wait... sun.jvm.hotspot.debugger.NoSuchSymbo ...
- WPF 精修篇 多属性触发器
原文:WPF 精修篇 多属性触发器 多属性触发器就是多个属性都满足在触发 在属性触发器上加了一些逻辑判断 举栗子 这个栗子里 textBox 要满足俩个条件 才能触发背景变色 1)textbox的 ...
- 分享windows 10 下部署 elasticsearch 和 logstash
最近和es杠上了.以前只听说过es一直没有机会体验一下. 最近有点时间,就着手体验一把.因为是第一次接触es,没有任何基础.入门的第一件是就是用 百度了, [不过建议改名为白度,基本上查不到想要的,一 ...
- 北理工机器人队RM视觉组ubuntu必备软件安装指南
基础软件安装 sudo apt update && sudo apt upgrade sudo apt install git curl vim gcc g++ cmake与make ...
- tkiner将字典用在单选上
from tkinter import * def printSelection(): print(cities[int(var.get())]) lab.config(text="你选择了 ...
- 【知识点】SPU&SKU
SPU:标准化产品单元 SPU = Standard Product Unit (标准化产品单元),SPU是商品信息聚合的最小单位,是一组可复用.易检索的标准化信息的集合,该集合描述了一个产品的特性. ...
- 前端小插件之手写js循环滚动特效
很多前端都离不开滚动的特效,调用插件繁琐,后期更改麻烦,考虑到这些因素,自己写了一套无限循环滚动的小特效. 首先滚动特效很好写,用css就可以完成,下面写一个基础css向上循环滚动特效 html &l ...
- Flex,Flash,AS3,AIR的关系和区别
转自:http://www.admin10000.com/document/156.html 本文详细介绍了 Flash.Flex.AS3.AIR 的关系和区别.希望对初学者有帮助. AS3 Acti ...
- Android源码分析(十七)----init.rc文件添加脚本代码
一:init.rc文件修改 开机后运行一次: chmod 777 /system/bin/bt_config.sh service bt_config /system/bin/bt_config.sh ...
- xamarin Mqtt
1 什么是MQTT? mqtt (Message Queuing Telemetry Transport,消息队列遥测传输)是 IBM 开发的一个即时通讯协议,有可能成为物联网的重要组成部分.MQTT ...