色彩的灰度转化

function RgbToGray(RGBColor : TColor) : TColor;
var
  Gray : byte;
begin
  Gray := Round((0.30 * GetRValue(RGBColor)) +
                (0.59 * GetGValue(RGBColor)) +
                (0.11 * GetBValue(RGBColor )));
  Result := RGB(Gray, Gray, Gray);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Shape1.Brush.Color := RGB(255, 64, 64);
  Shape2.Brush.Color := RgbToGray(Shape1.Brush.Color);
end;

时间: 2025-01-05 21:45:41

色彩的灰度转化的相关文章

C语言实现将彩色BMP位图转化为二值图

CTF做了图片的隐写题,还没有形成系统的认识,先来总结一下BMP图的组成,并通过将彩色图转为二值图的例子加深下理解. 只写了位图二进制文件的格式和代码实现,至于诸如RGB色彩和调色板是什么的一些概念就不啰嗦了. BMP位图文件格式 BMP文件由文件头.位图信息头.调色板和图形数据四部分组成,真彩色图是没有调色板的.每部分的具体结构在代码中具体列出并解释. 结构体的对齐 定义文件头部各结构体时要注意对齐的问题,至于什么是结构体对齐,请看这篇博文,写的很详细http://www.cnblogs.co

Bitmap转灰度字节数组byte[]

工作中遇到图片转灰度数组的需要,经过研究和大神的指导,最终得到如下两个方法,可以实现位图转灰度数组 简单的位图转灰度数组就是:得到位图中的每个像素点,然后根据像素点得到RGB值,最后对RGB值,根据灰度算法得到灰度值即可 /*如一张480*800的图片,最终得到一个byte[480*800/2]的灰度数组,因为函数把每两个相邻高的像素灰度转化为一个灰度*/ private byte[] java_convertIMG2GreyArray(Bitmap img) { byte[] theBytes

看起来像它——图像搜索其实也不难 (图像相似,图像指纹,phash hash,图像搜索) 使用时候记得看这文章的评论

链接: http://pan.baidu.com/s/1o7ScyVo 密码: h8eb    这个文章的代码 另一个类似的代码  链接: http://pan.baidu.com/s/1hsFDCNy 密码: jxus http://blog.csdn.net/luoweifu/article/details/8220992                 使用时候记得看这文章的评论 看起来像它——图像搜索其实也不难 标签: pHash图像搜索图像识别图片搜索算法 2012-11-24 23:

图片相似度——hash算法简介

一.均值hash 均值hash方法是对每幅图片生成一个"指纹"字符串,然后通过比较不同图片的指纹来确定图片的相似性,比较结果越接近,则说明图片越相似. 计算均值hash的步骤. 1.缩小尺寸 去除高频和细节的最快方法是缩小图片,将图片缩小到8x8的尺寸,总共64个像素.不要保持纵横比,只需将其变成8*8的正方形.这样就可以比较任意大小的图片,摒弃不同尺寸.比例带来的图片差异. 2.简化色彩 将8*8的小图片转换成灰度图像,将64个像素的颜色(red,green,blue)转换成一种颜色

就是看起来像而已——图像搜索内核探索

这是我第一次翻译外文文章,如果翻译的不好,还望大家多包含!以下黑色部分是作者原文的翻译,红色部分是我本人自己的理解和对其的补充. 原文:Looks Like It 在google里对的搜索结果是 下面是我用pHash算法(Java)实现的结果: 十张比较的图如下: source: f0a0000030400000 1-5    2-5    3-0    4-5    5-5    6-5    7-5    8-7    9-6    10-3    11-5 f0a0000030400000

图像色彩空间YUV和RGB的差别

http://blog.csdn.net/scg881008/article/details/7168637 假如是200万像素的sensor,是不是RGB一个pixel是2M,YUV是1M? 首先,200万象素的sensor,就是有2M个pixel;     YUV是电视传输用的名词,一个亮度信号(Y),两个色差信号(U分量.V分量)     YUV(亦称YCrCb)是被欧洲电视系统所采用的一种颜色编码方法(属于PAL).YUV主要用于优化彩色视频信号的传输,使其向后兼容老式黑 白电视.与RG

CCD (电荷耦合元件)

CCD 是指电荷耦合器件,是一种用电荷量表示信号大小,用耦合方式传输信号的探测元件,具有自扫描.感受波谱范围宽.畸变小.体积小.重量轻.系统噪声低.功耗小.寿命长.可靠性高等一系列优点,并可做成集成度非常高的组合件.电荷耦合器件(CCD)是20世纪70年代初发展起来的一种新型半导体器件. 背景介绍 CCD广泛应用在数码摄影.天文学,尤其是光学遥测技术.光学与频谱望远镜和高速摄影技术,如Lucky imaging.CCD在摄像机.数码相机和扫描仪中应用广泛,只不过摄像机中使用的是点阵CCD,即包括

第四章 颜色补充(硬件知识)

在颜色上,我一直存在着一些疑问,为什么显示器可以显示不同的颜色呢?越先进的浏览器显示颜色的机制更加复杂, 所以我在维基上搜索了一些关于最早的阴极射线管等知识,摘抄在下面.便于学习.这里对维基百科表示感谢. 荧幕尺寸依荧幕对角线计算,通常以英寸(inch)作为单位,现时一般主流尺寸有17".19".21".22".24.27"等,指荧幕对角的长度.常用的显示屏又有标屏(窄屏)与宽屏,方荧幕长宽比为4:3(还有少量比例为5:4),宽荧幕长宽比为16:10或16

OpenCV官方文档学习记录(16)

Canny边缘检测 先不说函数作用,来代码: 1 #include <opencv2\opencv.hpp> 2 #include <iostream> 3 #include <string> 4 5 #pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" ) 6 7 using namespace std; 8 u