请问delphi 7 如何读取JPG图片的像素颜色值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问delphi 7 如何读取JPG图片的像素颜色值?相关的知识,希望对你有一定的参考价值。

原生 TImage 不能读取 JPG档
请加入
Uses jpeg;
Image1.picture.loadfromfile('file.jpg');

之後像素的抓取就可以用
image1.picture.bitmap.canvas.pixel[ x, y];

TColor是以 BGR的顺序排列,所以红色为 $00000FF 依此类推。
参考技术A 读取图片到 canvas 上,然后读取canvas的pixel颜色就好了

opencv如何读取多边形区域内的像素值?

多变形区域是在原图上画出来的,现在不知道怎么读取所选的多边形区域内的像素值

有几个方法:
1,将轮廓数据通过drawContours画到一张图像上,遍历图像,逐一判断点是否在多边形内。使用pointPolygonTest函数。
2,将轮廓数据通过drawContours(参数中要选择填充模式,颜色白色)画到一张黑色图片上,填充颜色为白色,使用countNonZero找到图片中的非零像素数。注意边界条件,可能最后的结果需要减去轮廓长度(如果轮廓和内部颜色一致的话,我理解的轮廓边缘的点不算轮廓内)。
PS:DrawContours:在图像上绘制外部和内部轮廓,函数DrawContours用于在图像上绘制外部和内部轮廓。当thickness >= 0 时,绘制轮廓线;否则填充由轮廓包围的部分。
参考技术A 多边形区域一般是放在cvseq里的
cvseq可以转为cvpoint类型,包含组成多边形的每个像素点的位置
你可以根据每个像素点的位置判断图像像素位置是否在多边形内,然后再读取
参考技术B 好高端

以上是关于请问delphi 7 如何读取JPG图片的像素颜色值?的主要内容,如果未能解决你的问题,请参考以下文章

delphi,图片只保留最多颜色部分,判断一张图片里面哪个颜色最多(TBitMap)

如何获取PNG图片某点像素的rgba值

node识别图片有颜色的部分

请问Delphi 7.0开发的程序如何打包?

为啥用Python的openCV读取图片与PIL读取的图片像素值会不一样?

opencv如何读取多边形区域内的像素值?