精华内容
下载资源
问答
  • <div><p>该提问来源于开源项目:zhangyuanwei/node-images</p></div>
  • imgo 图像获取RGBA的

    千次阅读 2017-03-30 23:21:14
    golang图像处理工具库,图像相似度计算,图像二值化(golang image process lib) 目前只支持jpg,png img[height][width][n],height为图像高度,width为图像宽度 ...获取每个像素的 R、G、B、A的值代

    golang图像处理工具库,图像相似度计算,图像二值化(golang image process lib)

    目前只支持jpg,png


    img[height][width][n],height为图像高度,width为图像宽度 
    第height行第width列上像素点的RGBA数值数组,值范围为0-255

       注意:这里不能反了


    获取每个像素的 R、G、B、A的值代码如下

    package main
    
    import (
    	"fmt"
    
    	"github.com/Comdex/imgo"
    )
    
    func main() {
    
    	img, err := imgo.DecodeImage("rgb.png")  // 获取 图片 image.Image 对象
    	if err != nil {
    		fmt.Println(err)
    	}
    
    	height := imgo.GetImageHeight(img)       // 获取 图片 高度[height]
    	width := imgo.GetImageWidth(img)      // 获取 图片 宽度[width]
    
    
    	imgMatrix := imgo.MustRead("rgb.png")          // 读取图片RGBA值
    	for starty := 0; starty < height; starty++ {
    		for startx := 0; startx < width; startx++ {
    			R := imgMatrix[starty][startx][0]   // 读取图片R值
    			G := imgMatrix[starty][startx][1]   // 读取图片G值
    			B := imgMatrix[starty][startx][2]   // 读取图片B值
    			A := imgMatrix[starty][startx][3]   // 读取图片A值
    
    			fmt.Printf("R = %d  G = %d  B = %d  A = %d\n", R, G, B, A)  //打印每个像素的RGBA值
    
    		}
    	}
    }
    

           操作图片: 

           

                     rgb.png



       运行结果(只上一部分,太多了):

                        

                  




    展开全文
  • 获取图片(某)个像素RBGA值

    千次阅读 2015-08-25 14:41:14
    查找了一些资料,经过多次测试,最终拿到的RGBA值基本一致(这里为什么说基本一致呢,如果RGBA值的取值范围在0~255之间的话,结果会有1-2点的误差)。方法如下: 获取图片上某个点的RGBA值 //获取图片某个点...

    最近项目有个需求,获取调色板上某个点的RBGA值,来设置背景颜色。查找了一些资料,经过多次测试,最终拿到的RGBA值基本一致(这里为什么说基本一致呢,如果RGBA值的取值范围在0~255之间的话,结果会有1-2个点的误差)。方法如下:

    获取图片上某个点的RGBA值

    //获取图片某个点的RGBA值
    - (NSMutableArray *)getImagePixel:(UIImage *)image point:(CGPoint)aPoint {
        
        NSMutableArray *byteArray = [[NSMutableArray alloc] initWithCapacity:10];
        CGImageRef cgimage = image.CGImage;
        size_t scale = CGImageGetWidth(cgimage) / image.size.width;
        
        size_t bpr = CGImageGetBytesPerRow(cgimage);             //每行的字节数
        size_t bpp = CGImageGetBitsPerPixel(cgimage);            //每个像素的位数
        size_t bpc = CGImageGetBitsPerComponent(cgimage);        //每个字节的组成部分
        size_t bytes_per_pixel = bpp / bpc;
        
        // Get CGDataProviderRef from cgimage
        CGDataProviderRef provider = CGImageGetDataProvider(cgimage);
        
        @autoreleasepool
        {
            //Using (__bridge_transfer NSData *) casts the provider to type NSData and gives ownership to ARC, but still not discarded
            NSData *data = (__bridge_transfer NSData *)CGDataProviderCopyData(provider);
            
            const UInt8 *bytes = (Byte *)[data bytes];
            
            size_t row = aPoint.y*scale;
            size_t col = aPoint.x*scale;
            
            const UInt8* pixel = &bytes[row * bpr + col * bytes_per_pixel];
            
            for(unsigned short i = 0; i < 4; i+=4) {
                
                unsigned short red = pixel[i];                  // red channel - unused
                unsigned short green = pixel[i+1];              // green channel
                unsigned short blue = pixel[i+2];               // blue channel
                unsigned short alpha = pixel[i+3];              // alpha channel - unused
                
                [byteArray addObject:@(red)];
                [byteArray addObject:@(green)];
                [byteArray addObject:@(blue)];
                [byteArray addObject:@(alpha)];
            }
            data = nil;
        }
        return byteArray;
    }

    获取图片每个像素点的RGBA值

    //获取图片每个像素点的RGBA值
    - (NSMutableArray *)getImagePixel:(UIImage *)image point:(CGPoint)aPoint {
        
        // Create  array to add all files into total image
        NSMutableArray *byteArray = [[NSMutableArray alloc] initWithCapacity:(image.size.width * image.size.height)];
        
        CGImageRef cgimage = image.CGImage;
        
        size_t width  = CGImageGetWidth(cgimage);
        size_t height = CGImageGetHeight(cgimage);
        
        size_t bpr = CGImageGetBytesPerRow(cgimage);             //每行的字节数
        size_t bpp = CGImageGetBitsPerPixel(cgimage);            //每个像素的位数
        size_t bpc = CGImageGetBitsPerComponent(cgimage);        //每个字节的组成部分
        size_t bytes_per_pixel = bpp / bpc;
        
        // Get CGDataProviderRef from cgimage
        CGDataProviderRef provider = CGImageGetDataProvider(cgimage);
        
        @autoreleasepool
        {
            //Using (__bridge_transfer NSData *) casts the provider to type NSData and gives ownership to ARC, but still not discarded
            NSData *data = (__bridge_transfer NSData *)CGDataProviderCopyData(provider);
            
            const UInt8 *bytes = (Byte *)[data bytes];
            
            // Populate byte array with channel data from each pixel
            for(size_t row = 0; row < height; row++) {
                
                for(size_t col = 0; col < width; col++) {
                    
                    const UInt8* pixel = &bytes[row * bpr + col * bytes_per_pixel];
                    for(unsigned short i = 0; i < 4; i+=4) {
                        
                        unsigned short red = pixel[i];                  // red channel
                        unsigned short green = pixel[i+1];              // green channel
                        unsigned short blue = pixel[i+2];               // blue channel
                        unsigned short alpha = pixel[i+3];              // alpha channel
                        
                        [byteArray addObject:@(red)];
                        [byteArray addObject:@(green)];
                        [byteArray addObject:@(blue)];
                        [byteArray addObject:@(alpha)];
                    }
                }
            }
            data = nil;
        }
        return byteArray;
    }


    
    

    展开全文
  • 获取图像的像素点数据,getImageData,得到数据四位分别代表一个rgba的值,这里可以把透明的像素点去掉即a=0的像素点,也可以把范围设置大一点。按每四位存到一数组里头,接下来就是对数组进行处理。2.中位...

    语言:js

    颜色量化算法:中位切分法

    简介

    1.获取图像的像素点数据,getImageData,得到的数据每四位分别代表一个rgba的值,这里可以把透明的像素点去掉即a=0的像素点,也可以把范围设置大一点。按每四位存到一个数组里头,接下来就是对数组进行处理。

    2.中位切分算法首先把所有像素映射到RGB空间,我们以R,G,B中最长的边构造一个立方体,并且以这条边从中间切割,可以分别得到两个包含相同像素点的长方体,再以长方体的最长边进行中位切割,如此反复下去,满足条件时停止切割,比如颜色的极值小于50停止,或者长方体少于100个像素点时停止,此时,我们得到了满足条件的长方体,把像素点的平均值作为了此长方体的代表颜色。

    完整代码

        getcolor

    效果展示

    adbd38cc708014003ca8c6683116fbd3.png

    参考资料

    图像颜色提取

    https://segmentfault.com/a/1190000009832996

    展开全文
  • python PIL获取图片像素

    千次阅读 2020-03-01 14:27:34
    from PIL import Image # 打开要处理图像 img_src = Image.open('sun.png') # 转换图片模式为...# 获得文字图片的每个像素点 src_strlist = img_src.load() # 100,100 是像素点坐标 data = src_strlist[...
    from PIL import Image
    
    # 打开要处理的图像
    img_src = Image.open('sun.png')
    
    # 转换图片的模式为RGBA
    img_src = img_src.convert('RGBA')
    
    # 获得文字图片的每个像素点
    src_strlist = img_src.load()
    
    # 100,100 是像素点的坐标
    data = src_strlist[100, 100]
    # 结果data是一个元组包含这个像素点的颜色信息    栗子:(0, 0, 0, 255)

     

    展开全文
  • 然后,我们 需要画一个矩形,并且需要获取到它的个像素的值,即个像素的4要素,rgba。(方法getImageData,4个参数,前两个坐标,X和Y,后两个是长和宽) 最后,用一个定时器实现逐渐显示的功能。(显示可以...
  • Python 技术篇-用PIL库修改图片透明度实例演示,改变png...每个点都有对应颜色,PIL 图可以获取和设置每个像素颜色。 颜色有两种 RGBA 和 RGB,(r, g, b, a) 前者有 4 个值,后者有 3 个值,每个都是 0 到 255。
  • 颜色有两种 RGBA 和 RGB, 前者有 4 个值(r, g, b, a),后者有 3 个值(r,g,b),每个都是 0 到 255,RGBA a 就代表透明度。a= 0表示透明 getpixel((x, y)) 是获取对应像素颜色。 putpixel((x, y), color) ...
  • canvas获取图片颜色主色调

    千次阅读 2019-01-11 20:19:47
    获取canvas,img元素 使用canvasgetImageData方法获取像素数据 canvasgetImageData方法 ...对于 ImageData 对象中的每个像素,都存在着四方面信息,即 RGBA 值: R - 红色 (0-255) G - 绿色 (0-255) ...
  • 昨天写过一个关于使用Image实现像素检测文章,实现方式是利用Image,但是因为实际使用过程中,如果这样Image特别多,会消耗比较大内存空间,所以需要把每个Image数据保存起来,比较繁琐。通过网上查找,有...
  • C#实现文字绘图功能

    2020-10-20 13:41:46
    获取原图每个像素的rgba2.生成转换后的图片效果图(图中文字为"我爱你"):总结 思路 这是本人第一次写博客,首先我将简述一下实现思路. 1.先获取原图的每个像素的rgba,然后新建一个和原图同样宽高的Bitmap 2....
  • 最近工作之余在做一个美图秀秀的仿品 做到滤镜这块的时候 自己就参考了网上几位博主(名字忘了记,非常抱歉)的博客,但是发现跟着他们的demo做的...根据图形上下文获取图片每个像素的RGBA的色值数组->遍历数组,...
  • 获取到图片上每个坐标位置颜色信息,但是想把信息在同一个网页上做出统计,计算出相同颜色段宽度信息,并且最终可以输出文字结果,如果能输出到图片上,做出如图2想要最终效果是最好,但是现在已经卡在如何...
  • 前些日子,前辈推荐了一个有趣项目 —— Real-Time-Person-Removal ,这个项目使用了 TensorFlow.js ,... getImageData():获取画布像素数据,个像素点有 4 个值 —— rgba putImageData():将像素数据写入画布
  • (使用canvas解答) ...想要知道有多少个图形,想到就是先获取图片中的每个像素点然后判获取像素点背景颜色(RGBA)。想要获得图片中的每个像素点,那就可以联想到使用h5canvas。如下: 菜鸟教...
  • canvas 四 合成与事件

    2016-05-06 18:35:07
    * 属性data:一个数组包含每个像素的rgba四个值每个值豆子啊0-255之间 * putImageDate(获取图像,x,y) * 设置新的图像数据 * createImageData * 生成新的像素矩阵,初始值为全透明的黑色 * */ var oc ...
  • (使用canvas解答) ...想要知道有多少个图形,想到就是先获取图片中的每个像素点然后判获取像素点背景颜色(RGBA)。想要获得图片中的每个像素点,那就可以联想到使用h5canvas。如下: 菜鸟教程中can...
  • canvas图像处理汇总

    2019-09-26 08:50:19
    虽然很多的操作其实都是要应用到算法的,但是这个也给前端提供了很多的可能性,其中最终要的一个canvas函数(至少我认为)就是getImageData,这个函数可以提取图像每个像素的RGBA值。因为有这个函数所有才有丰富多彩...
  • 获取图像的像素点数据,getImageData,得到数据四位分别代表一个rgba的值,这里可以把透明的像素点去掉即a=0的像素点,也可以把范围设置大一点。按每四位存到一数组里头,接下来就是对数组进行处理。2.中位...
  • canvas马赛克 -Kaiqisan

    2020-07-14 14:18:41
    获取马赛克颗粒程度size,然后把整张图片分成很多个size大小的块,然后在一块里面随机获取个像素的rgba信息(也可以固定获取某个点的坐标(相对于一个小块)),然后把整个小块都变成这个颜色,最后形成整张...
  • 【js】提取图片主体颜色

    千次阅读 2020-02-07 13:44:10
    1.获取图像的像素点数据,getImageData,得到数据四位分别代表一个rgba的值,这里可以把透明的像素点去掉即a=0的像素点,也可以把范围设置大一点。按每四位存到一数组里头,接下来就是对数组进行处理。 2.中位...
  • 获取图像的像素点数据,getImageData,得到数据四位分别代表一个rgba的值,这里可以把透明的像素点去掉即a=0的像素点,也可以把范围设置大一点。按每四位存到一数组里头,接下来就是对数组进行处理。2.中位...
  • OpenGL ES:YUV转RGB

    2020-08-12 10:23:55
    YUV使用色彩通道UV和亮度通道Y,这种格式更适合图像处理领域,图片所有细节保存在亮度通道中,如果没有亮度,图片就是一张灰度图片,人眼睛对亮度敏感度要高于颜色,所以可以通过减少每个像素颜色值,达到...
  •  RGBA模式与索引模式区别: 计算机必须为每个像素保存一些数据,在RGBA模式中数据就代表了颜色;而颜色索引模式中数据代表了一个索引,要获取真正颜色值还需要查索引表。数据数量是由帧缓存...
  • 此处出自《JavaScript DOM编程艺术(第二版)》 要点: 使用Modernizr对浏览器是否支持<...对于 ImageData 对象中的每个像素,都存在着四方面信息,即 RGBA 值: R - 红色 (0-255) G - 绿色 (0-255)...
  • 一张图像是像素点集合,个像素都是一个独立,有自己颜色。图像一般情况下都存储成数组,可以说是二维数组。当成百上千万个像素集合一起后,就构成了图像。表示图形方式很多种YUV,RGBA,最
  • opengl太阳系模型

    热门讨论 2013-01-12 17:05:25
    // 每个象素对应字节数,3:24位图,4:带alpha通道24位图 unsigned char *data; // 纹理数据 }TEXTUREIMAGE; // BMP文件头 #pragma pack(2) typedef struct { unsigned short bfType; // 文件类型 ...

空空如也

空空如也

1 2
收藏数 36
精华内容 14
关键字:

获取每个像素的rgba