精华内容
下载资源
问答
  • package 脚本学习;import java.awt.image.BufferedImage;import javax.imageio.ImageIO;...public class getrgb{public static void main(String args[]) throws IOException{int[] rgb = new int[3];File...

    package 脚本学习;

    import java.awt.image.BufferedImage;

    import javax.imageio.ImageIO;

    import java.io.*;

    public class getrgb{

    public static void main(String args[]) throws IOException{

    int[] rgb = new int[3];

    File file = new  File("1.jpg");

    BufferedImage bi=null;

    bi = ImageIO.read(file);

    int width=bi.getWidth();

    int height=bi.getHeight();

    int minx=bi.getMinX();

    int miny=bi.getMinY();

    System.out.println("width="+width+",height="+height+".");

    System.out.println("minx="+minx+",miniy="+miny+".");

    for(int i=minx;i

    for(int j=miny;j

    {

    int pixel=bi.getRGB(i,j);

    rgb[0] = (pixel &  0xff0000) >> 16;

    rgb[1] = (pixel &  0xff00) >> 8;

    rgb[2] = (pixel &  0xff);

    System.out.println("i="+i+",j="+j+":("+rgb[0]+","+rgb[1]+","+rgb[2]+")");

    }

    }

    }

    }

    展开全文
  • /** * 获取图片 RGB * @param $url * @return float|int */ public function ChoiceImage($url){ //判断图片是否存在 if(@fopen($url,'r')){ $total = 0; ...
    /**
         * 获取图片 RGB 值
         * @param $url
         * @return float|int
         */
        public function ChoiceImage($url){
        
            //判断图片是否存在
            if(@fopen($url,'r')){
                $total = 0;
                $rTotal = 0;
                $gTotal = 0;
                $bTotal = 0;
                $i = imagecreatefromjpeg($url);//测试图片,自己定义一个,注意路径
                for ($x=0;$x<imagesx($i);$x++) {
                    for ($y=0;$y<imagesy($i);$y++) {
                        $rgb = imagecolorat($i,$x,$y);
                        $r=($rgb >> 16) & 0xFF;
                        $g=($rgb >> 8) & 0xFF;
                        $b=$rgb & 0xFF;
                        $rTotal += $r;
                        $gTotal += $g;
                        $bTotal += $b;
                        $total++;
                    }
                }
                $rAverage = round($rTotal/$total);
                $gAverage = round($gTotal/$total);
                $bAverage = round($bTotal/$total);
                if($rAverage >= 250 || $gAverage >= 250 || $bAverage >= 250){
                    return 0;
                }
                $rgbTotal = $rAverage + $gAverage + $bAverage;
    //            pr_log('r: '. $rAverage . 'g: ' . $gAverage . 'b: ' .$bAverage,'ceshi110');
                if($rgbTotal >= 700 || $rgbTotal <= 10){
                    return 0;
                }
                return $rgbTotal;
            }else{
                return 0;
            }
        }

     

    展开全文
  • public classHslTest {/*** 获取图片主色调的rgb值*@parampath*@return*@throwsException*/public static RGB getMainRgb (String path) throwsException{Map hueCountMap = new HashMap<>();Map hslCountMap ...

    public classHslTest {/*** 获取图片主色调的rgb值

    *@parampath

    *@return*@throwsException*/

    public static RGB getMainRgb (String path) throwsException{

    Map hueCountMap = new HashMap<>();

    Map hslCountMap = new HashMap<>();

    BufferedImage image= ImageIO.read(newURL(path));//BufferedImage image = ImageIO.read(new File(path));

    int width =image.getWidth();int height =image.getHeight();int minx =image.getMinX();int miny =image.getMinY();//计算各点的hsl值,并统计数量

    for (int i = minx; i < width; i++) {for (int j = miny; j < height; j++) {int pixel =image.getRGB(i, j);

    Color color= newColor(pixel);

    RGB rgb= newRGB(color.getRed(), color.getGreen(), color.getBlue());

    HSL hsl=ColorConverter.RGB2HSL(rgb);float h =computeHue(hsl.getH());float s =computeSAndL(hsl.getS());float l =computeSAndL(hsl.getL());

    HSL newHSL= newHSL(h, s, l);//统计hue值数量

    Integer count =hueCountMap.get(h);if(count == null){

    hueCountMap.put(h,1);

    }else{

    hueCountMap.put(h, count+ 1);

    }//统计HSL数量

    count =hslCountMap.get(newHSL);if(count == null){

    hslCountMap.put(newHSL,1);

    }else{

    hslCountMap.put(newHSL, count+ 1);

    }

    }

    }//查找数量最多的hue值

    float maxHue = 0;int maxCount = 0;for(Map.Entryentry : hueCountMap.entrySet()){float hue =entry.getKey();int count =entry.getValue();if(count >maxCount){

    maxCount=count;

    maxHue=hue;

    }

    }//查找maxHue中数量最多的hsl值

    HSL maxHSL = null;

    maxCount= 0;for(Map.Entryentry : hslCountMap.entrySet()){

    HSL hsl=entry.getKey();int count =entry.getValue();if(hsl.getH() == maxHue && count >maxCount){

    maxCount=count;

    maxHSL=hsl;

    }

    }//hsl转rgb

    RGB resultRGB =ColorConverter.HSL2RGB(maxHSL);returnresultRGB;

    }/*** 按格子划分h值

    *@paramh

    *@return

    */

    public static float computeHue (floath){if(h <= 15){return 0;

    }if(15 < h && h <= 45){return 30;

    }if(45 < h && h <= 75){return 60;

    }if(75 < h && h <= 105){return 90;

    }if(105 < h && h <= 135){return 120;

    }if(135 < h && h <= 165){return 150;

    }if(165 < h && h <= 195){return 180;

    }if(195 < h && h <= 225){return 210;

    }if(225 < h && h <= 255){return 240;

    }if(255 < h && h <= 285){return 270;

    }if(285 < h && h <= 315){return 300;

    }if(315 < h && h <= 345){return 330;

    }if(345

    }return 360;

    }/*** 按格子划分s和l值

    *@params

    *@return

    */

    public static float computeSAndL (floats){if(s <= 32){return 0;

    }if(32 < s && s <= 96){return 64;

    }if(96 < s && s <= 160){return 128;

    }if(160 < s && s <= 224){return 192;

    }if(s > 224){return 255;

    }return 255;

    }

    }

    展开全文
  • im1=Image.open('1.gif') print im1.getpixel((50,50)) 返回的是一个 注:图片的mode时p
  • Java|获取图片rgb值

    2020-08-09 00:00:00
    欢迎点击「算法与编程之美」↑关注我们!本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。欢迎加入团队圈子!与作者面对面!直接点击!前言图片对比获...

    欢迎点击「算法与编程之美」↑关注我们!

    本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

    欢迎加入团队圈子!与作者面对面!直接点击!

    前言

    图片对比获取坐标的方法很多,我选择了比较简单的方法:对比rgb值。要想对比rgb值,就得先获取图片的rgb值。运用的是BufferedImage里的getRGNB方法。

    解决方案

    主要思路:

    首先用.getWidth和.getHeight方法获取图片的宽度和高度,.getMinX和.getMinY方法获取最小xy坐标值。再循环图片所有点坐标,并且用getRGB获取其rgb值,这里获取的并不是10进制的,需要转化为10进制。

    java代码:

    package 脚本学习;
     import java.awt.image.BufferedImage;
     import javax.imageio.ImageIO;
     import java.io.*;
     public class getrgb{
     public static void main(String args[]) throws IOException{
         int[] rgb = new int[3];
         File file = new  File("1.jpg");
         BufferedImage bi=null;
         bi = ImageIO.read(file);
         int width=bi.getWidth();
         int height=bi.getHeight();
         int minx=bi.getMinX();
         int miny=bi.getMinY();
          System.out.println("width="+width+",height="+height+".");
          System.out.println("minx="+minx+",miniy="+miny+".");
         for(int i=minx;i<width;i++) {
             for(int j=miny;j<height;j++)
             {
                 int pixel=bi.getRGB(i,j);
                 rgb[0] = (pixel &  0xff0000) >> 16;
                 rgb[1] = (pixel &  0xff00) >> 8;
                 rgb[2] = (pixel &  0xff);
                  System.out.println("i="+i+",j="+j+":("+rgb[0]+","+rgb[1]+","+rgb[2]+")");
                 }
             }
     }
     }

     

    结语

    这里只是简单的把rgb值打印了出来,之后要对比得话可以将它存进一个二元矩阵里,每个矩阵元素就是rgb值,这样就可以方便对比算法进行对比。

    END

    实习主编   |   王楠岚

    责       编   |   王自强

     where2go 团队


       

    微信号:算法与编程之美          

    长按识别二维码关注我们!

    温馨提示:点击页面右下角“写留言”发表评论,期待您的参与!期待您的转发!

    展开全文
  • 之前按照网上的方法将图片缩放(或者马赛克)然后遍历每个像素点,然后统计处RGB次数最多的值,这做法效率太低而且取到的RGB值不够精确。之后才发现使用Imagick的quantizeImage方法能够很方便的取到图片中平均的RGB值. ...
  • Android获取图片RGB值

    2015-12-01 14:39:48
    点击可以获取任何一张图片RGB值,精度高。
  • php获取图片RGB颜色的例子很多图片站点都会根据用户上传的图片检索出图片的主要颜色,然后在通过颜色搜索相关的图片。 之前按照网上的方法将图片缩放(或者马赛克)然后遍历每个像素点,然后统计处RGB次数最多的...
  • delphi 获取图片指定点RGB值 图片RGB,很好用源代码可以作为参考
  • php获取图片RGB颜色的例子 很多图片站点都会根据用户上传的图片检索出图片的主要颜色,然后在通过颜色搜索相关的图片。 之前按照网上的方法将图片缩放(或者马赛克)然后遍历每个像素点,然后统计处RGB次数...
  • public class ReadColorTest { /** * 读取一张图片RGB值 * * @throws Exception */ public void getImagePixel(String image) throws Exception { int[] rgb = new int[3]; File file = new File(image); ...
  • If I open an image with open("image.jpg"), how can I get the RGB values of a pixel assuming I have the coordinates of the pixel?Then, how can I do the reverse of this? Starting with a blank graphic, '...
  • 1、两种方式获取RGB值 1、Vec3b获取RGB值 Mat img = imread("./img/pic.jpg"); //在Mat数据结构中的图,我们可以通过Mat.at得到矩形像素框中的RGB值 //这个方法返回的是一个Vec3b对象的引用(向量,包括了三个无...
  • 一种获取图片RGB参数的简单方法

    千次阅读 2014-03-09 01:09:35
    在编程的时候碰到了一个需要获取背景图片的颜色的参数的问题。这里介绍一种简单的方法供解决类似问题的朋友们参考! 打开Windows自带的画图软件就可以了。操作如下: (1)程序——附件——画图,界面如下: ...
  • 做PPT时为了配合校徽,使用与校徽颜色相近的配色,需要获取图片主色调RGB颜色值 网上有很多在线工具网站,比如Palette Generator 上传后便可以获得各颜色的十六进制RGB值 但是PPT中的配色盘RGB是十进制的,需要转换...
  • Android获取图片任意一点的RGB值

    万次阅读 热门讨论 2015-12-01 14:43:46
    最近要做一个点击图片任何一个地方取色然后传给蓝牙设备的一个功能。在网上搜索了一番,大部分都是重复,有的功能实现了,但是效果不好,大部分都取色不准确,...二获取图片的宽、高,为了精度,这里一定要设置Bitm
  • ImageJ如何获取图片RGB强度和灰度

    千次阅读 2020-07-25 16:23:56
  • 获取图片每个像素点的rgb值源码

    热门讨论 2012-03-31 17:14:21
    获取图片每个像素点的rgb值 源码 自己再封装成类
  • 1.先将图片所需部分截屏 2.打开画图工具,粘贴,...5.如果想要把RGB值转换成16进制的,在网站百度一下 RGB值转16进制把RGB值输入到里面就会出现值了 链接:https://www.sioe.cn/yingyong/yanse-rgb-16/ 输入RGB的.
  • 图像RGB值获取

    2018-03-13 17:34:08
    1.关于图像RGB值获取,要用到的图片应为bmp格式(24位),优点是无损压缩,图质最好; 2.按行按列分块均等取像素的RGB值需要对图像进行压缩,这里用到的压缩函数是opencv自带的函数,可以对要压缩的图像指定宽高的...
  • 点击可以获取任何一张图片RGB值,精度高.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
  • 2.创建结构体储存rgb值,本身颜色数据存储顺序是反向的,所以结构体是bgr; 3.计算出一行的字节数:图片颜色字节数/列数=一行的字节数; 4.将获取的颜色存入结构体数组中,记得是反着放; 5.直接双循环输出,输出...

空空如也

空空如也

1 2 3 4 5 ... 19
收藏数 379
精华内容 151
关键字:

获取图片rgb值