RGB Values Different in LR5?

Are the RGB values using the white balance tool different in LR5 than they were in LR4.3? I'm editing the same way but I'm having red/magenta issues in LR5. Thanks for any input you can provide.

I don't think the values are different. The WB tool converts to neutral color, and neutral is neutral.
Is it possible that your red/magenta issues in LR5 are caused by the light situation when shooting?
And, are you talking of Raws or JPGs?
And, which setting are you seeing in Camera Calibration (bottom panel, right side in Develop Module)?
In case the profile used is Adobe Standard, try a different one. Adobe says that the "Adobe Standard" profile enhances yellows and reds. And it does!
I find it too strong (everything has a slight pink cast)  and have stopped using it.

Similar Messages

  • PMS RGB Values Different in Illustrator & PhotoShop

    Hello, Forum;
    I'm stumped here. I'm working on a project that has me going back & forth between PhotoShop & Illustrator, working in PMS color. I've noticed that the RGB values for a given PMS are significantly different between the two environments. For instance, PMS 383C in AI is
    R:178
    G:187
    B:30,
    where the same 383C in PS is shown as
    R:162
    G:173
    B:0
    Why would that be?
    Thanks.
    Cayce

    see here:
    http://rwillustrator.blogspot.com/2007/02/busting-myth-achieving-consistent-color.html

  • NEF to DNG 6.5 results in different number of unique colors, pixels and RGB values

    I took pictures from my old Nikon D40. I converted them with the standard settings from NEF to DNG.
    I then used UFRAW under Linux and saw that the pixel size increased from 3039x2040 in NEF to 3040x2040 in the DNG - and that the live view RGB values were about 5% higher for NEF that for DNG.
    "FastStone Image Viewer" shows the same increase in pixel size. Additionally, it shows that the DNG has roughly 93,000 unique colors compare to 90,000 for the NEF file.
    More pixel, different RGB values, different counted unique colors - what's going on here? This doesn't look like a 1:1 conversion?

    Not exactly sure what you're comparing.  For raw data you need to be comparing the original mosaic data values (not some converted result, or even partially converted result like demosaiced result).   Are you sure that's what you're doing?

  • Why is FrameMaker using different CYMK/RGB values for Pantone library colours compared with Illustrator?

    Evening all -
    this is by no means the first time I'm banged my head against the colour management brick wall, and I doubt it will be the last
    I am running Frame 12 and Illustrator CC on Windows 7.
    Both these Adobe products ship bundled with Pantone libraries. (Correct me with I'm wrong, but these "libraries" are basically a bunch of look-up tables, mapping named Pantone colours to various CYMK, RGB, etc equivalents?)
    Can anyone tell me why these two different Adobe applications appear to give different definitions for the same Pantone colours?
    For example, if I choose the Pantone Coated library > 'Warm Red'
    In Illustrator CC (left screenshot), it offers this as C0% M87.4% Y79.9% K0%
    in FrameMaker 12 (right screenshot), I get C0% M79%  Y91%  K0%
    Why are they different?
    Are the library definitions shipped with the products simply different?
    Frame's dialog ominously mentions "© Pantone, Inc., 1986, 1988"
    And if I go to C:\Program Files (x86)\Adobe\AdobeFrameMaker12\fminit\color and open the corresponding .bcf file in an editor, the header says:
    "BCF 2.0PANTONE¨ Coated 1.1 ©Pantone, Inc., 1986, 1988.PANTONE¨* Computer Video simulations displayed may not match PANTONE-identified solid color standards.  Use current PANTONE Color Reference Manuals for accurate color.  To order publications from Pantone, Inc., in the U.S. please call the toll-free number (800) 222-1149 [within NJ, call (201) 935-5500].  In other countries contact your local Pantone representative.  *Pantone, Inc.'s check-standard trademark for color.[1]"
    whereas if I go to C:\Program Files (x86)\Adobe\Adobe Illustrator CC\Presets\en_US\Swatches\Color Books and open the corresponding .acb swatch file in there, in amoungst the hex gibberish I note it says:
    "�=$$$/colorbook/PantonePlusCoated/title=PANTONE+^R Solid Coated/$$$/colorbook/PantonePlusCoated/prefix=PANTONE *$$$/colorbook/PantonePlusCoated/postfix= CK"$$$/colorbook/PantonePlusCoated/description=Copyright^C Pantone LLC, 2010"
    Have Pantone perhaps changed their colour definitions between 1988 and 2010?
    (I'm thinking it would be sensible to establish this one way or the other before we get into any convoluted discussions about the Windows GDI etc etc)

    David,
    What options did you use for defining the colours internally and what options for output in AI? I suspect that if you examine the EPS file you created from AI for the Panotne 355C, the only values in there are the CMYK ones - no LAB nor RGB. So FM has to use the algorithm mentioned in the other thread and creates the lime green based upon the algorithm. If you have set the AI drawing to an RGB color mode and set the EPS export option for "Include CMYK Postscript in RGB files" to OFF, then you would get the desired RGB values in the EPS file.
    If you're so intent on using Pantone Spot colours to get RGB, then you can create your own ACF library file with the exact RGB definitions that you want (you can then use whatever values you get in Photoshop, Illustrator or whatever source that you're trying to match). The structure of the file is as follows:
    ACF 1.0
    My Color Library             <----  name of library
    LibraryVersion: 1.0
    Copyright: © 2014 <your name here>. All rights reserved.
    AboutMessage: User defined Spot colours for RGB
    Names: Partial
    Rows: 4
    Columns: 4
    Entries: 1           <---- number of colours in file
    Prefix:         <---- used for display in FM, e.g. "Panotne"
    Suffix:           <----- used together with prefix, e.g. "CVC, CVU, etc."
    Type: Process <---- Spot, Process, Tint, Mixed (need to add specifier to Data lines)
    Models: CMYK RGB
    PreferredModel: RGB     <---- whatever you want
    Data:
    0.98 0.11 1.00 0.02              <---- CMYK values (0-1)
    0 38143 19967     <---- RGB values as 16-bit, i.e. 16-bit = ( [RGB value (1-255)]*256) + 255; zero is still zero
    Spruce Green                   <---- name of colour
    The acf file needs to be installed in the fminit\color folder.
    Also, a note of caution, If you screw something up in the acf file (like the incorrect number of entries in the file or you're missing a component value, this will hang FM if you use the View > Color > Definitions... option. You'll need to kill FM, fix or remove the ACF file and re-start. Also, FM only reads the libraries at the start, so if you need to make any changes to the ACF definitions, you have to r-start FM for those changes to take place.
    [I know, FM doesn't make it easy, but it can be done...]

  • Why I am getting different RGB Values in photoshop vs. Illustrator?

    The RGB values differ between Illustrator and Photoshop. The same file opened in photoshop displays different RGB values although the the colour was input correctly in illustrator. Both files were saved and reopened within the RGB colour space. There is a zero value in the desired RGB colour scheme, could this have something to do with it?

    RGB values relate to the color space used. The same color in sRGB and Adobe RGB will have very different numbers (and vice versa).
    There is no such thing as "RGB color space". That's a color mode, not a color space. There is only sRGB, Adobe RGB, ProPhoto RGB etc.

  • When I open a jpg file in Firefox, it has different RGB values than when I open it in Microsoft Paint or Picture and Fax Viewer. What kind of color management does Firefox apply to jpg files?

    In Firefox, the RGB values are 50, 255, and 25. In Paint, they are 81, 171 and 67. These colors look quite different. I suspect Firefox is doing something with the

    Does Firefox use the embedded color profile if there is one? How can I tell if there is one in a jpg and what it is?

  • How can I convert (or switch) the RGB percent values from the LR histogram into RGB values which are shown e. g. in PS/CameraRAW?

    In LR 5.5 (same in previous versions) the RGB values in the histogram are shown in percent (relativ) values. I prefere to see the absolute values, but I can`t find any way to switch. Maybe this option is intentional disabled, because LR works in 16-Bit mode this would result in values up to 2^16. But as i compared the relativ values from LR with the absolute values from PS i run into a conversion problem. The following example shows the differences:
    CameraRAW : RGB, 128,0,0
    Lightroom: RGB, 43,8%, 19,0%, 6,2%
    CameraRAW: RGB, 0,128,0
    Lightroom: RGB, 29,8%, 47,5%, 17,5%
    Mainly i have two questions:
    1. Is there any possibility to change the percent RGB values in LR to absolut values?
    2. How can i convert CameraRAW values to LR values (see above)?

    TThe reason that a design decision was made from the beginning of LR to show only the percentage values was that RGB values are dependent on the color space and the LR histogram and numerical readout are derived from the Develop module's display space which is a hybrid color space with ProPhoto RGB primaries and the sRGB TRC. Thus the numerical values in the display would be different from the exported RGB image (in an orthodox space) and it was feared that this would be misleading. When soft proofing was introduced, because it involved converting the display to an orthodox space, it became possible to use the 0-255 scale in that mode.

  • How to find the RGB Values of a Color for Hyperion

    When customizing your Hyperion forms, we come across situations where we need the exact RGB value of a given color. This article explains a simple technique to find the RGB values using MS Paint and the Calculator applications that come as standard applications with your operating system.
    Here are the steps to find the exact RGB value of a given color.
    1) View your Hyperion form using IE, scroll down until you see the color you want to find the RGB value and press the "Print Screen" button (in your keyboard).
    2) Open MS Paint and click Edit -> Paste or simply Ctrl+V. What you saw in the browser will be copied as a new untitled image.
    3) Select the Color Picker tool and click on an area that has the color you want to match.
    4) Now go to Edit Colors... option and click on the "Define Custom Colors >>" button. The color you picked will be selected on this palette. At the bottom right hand corner you will see the Red, Green and Blue values you need. Note down the R,G,B values (given in decimal).
    5) Now we need to find out the hexa-decimal values that correspond to those decimal values. This is where we use the simple Calculator. Open the Calculator application from Program -> Accessories. Switch to the scientific mode by clicking View ->Scientific.
    6) By default it will be in the decimal number mode. Enter the R value (238 in this example) and click on the Hex radio button. The corresponding hexa-decimal value (EE in this case) will be shown in the dial.
    The selected color in this case has the same value for R, G and B. (In fact, all shades of gray has the same values for R, G and B.) Therefore, the RGB value of the background color that we need is #eeeeee. Repeat step 6 to find out the hex value for the Green and Blue elements, if they are different.
    Tip:
    If you find it difficult to pick a color, zoom the image by pressing Ctrl+PageDown or using View -> Zoom -> Custom... option.

    These tips are to find the RGB color of HFM default row where row is text and text lines in data columns are also visible to business users as Yellow as an input cell. By applying the same RGB color you can apply the same color to your data cells or rows. This post shows how to identify color from any web view-able object.
    Regards,
    Manaf

  • Legalities of color-and why are my RGB values inconsistent?

    Hi there,
    I have a client who is trying to trademark their logo and the RGB values. I have sent them the files and corresponding RGB values, but when they check the files in their mac Digital Color Meter they come up with different values. On my own computer, the values are consistent in the DCM and Photoshop, although I opened it on another computer and found that while the values were still correct when I open the files in Photoshop, the DCM values were incorrect there too.
    Does anybody have any history with this? Should I just tell them to ignore their DCM and that Photoshop is correct, or am I doing something wrong with profiles or something? It wouldn't be such a big deal but for the legal implications behind it...
    Thanks for any help!!
    Eli

    I was referring to "Scene Referred" CCchart Lab reference numbers derived from measurements taken of this chart from a spectrophotometer. You'll note the black patch is at L20 according to X-rite. The white patch is quite easy to attain L96 without clipping during exposure of the CCchart to build the profile from using DNG Profile Editor.
    What's not easy to control during exposure is the contrast ratio recorded by the camera. Adjusting the middle slider in Levels or the Contrast slider in ACR will show just how much contrast affects hue and saturation viewed on a display. Reality doesn't behave this way.
    Contrast/Luminance ratio's are disregarded or barely adjusted for in the DNG CCchart Wizard to come up with proper hue/saturation levels for each of the 18 color patches. The contrast adjusts required to get all 24 patches to match exactly (especially black at L20) makes the image not look right or follow a normal human visual response or perception.
    You can adjust contrast in the image after applying the new profile to get a reasonably correct look but quite a few of the 24 patches go off the charts according to the X-rite reference Lab numbers. The whole reason for going by the Lab numbers in profiling a device like a DSLR in the first place is to maintain consistency image to image by using measured results. As you can see this is not possible to achieve in a photograph except maybe in a controlled studio environment, but it does work when trying to match single spot colors that aren't influenced by the surround effect that affects human perception inherent in a photographed scene. A pleasing photograph is not about accurate numbers.
    A spectrophotometer is a static device that only reads and measures color wave lengths from color patches and converts them to Lab numbers. It's not a constantly adjusting device like our eyes which adapts to hue, saturation, color temp and contrast levels in any given scene.
    I'm going to post three images of a CCchart exposed under a high noon sun that I used to build two different DNG profiles. The first is using ACR default DNG converted source image and doing a straight dual illuminant table profile according to instructions. They're screenshots that include Apple's DCM to show how the black patch changes to accommodate exact Lab numbers as opposed to achieving a pleasing look. You'll note the more the image is made to "pop" the less accurate the Lab readouts and appearance.

  • DigitalColor Meter - RGB Values Don't Match?

    I've saved a 16 color palette under 'Colors' in the 'TextEdit' application. Each color has been set by directly typing in the values for R, G and B, for example one of the colors is R=68, G=255, B=153.
    If however I open the 'DigitalColor Meter' application, which is set to 'RGB As Actual Value, 8-bit' and move the aperture over the same color in the 'Colors' window the DigitalColor Meter reports the RGB values of that color differently to what was set. For the color mentioned above it reads R=73, G=250, B=151.
    Why don't the two match as they should? This happens with any color, but not black, white or a shade of grey.
    If I save an image from a website by draging the image to the desktop then open the image and use the DigitalColor Meter to compare the RGB values of any given pixel in the saved image to those of the same image displayed on the webpage then again the RGB values between the two will not quite match, but black, white or a shade of grey will.
    If however I save the image to my desktop by using >Apple-shift-4 to grab the image then the RGB values do match.
    Can someone explain exactly what's going on? Does it have something to do with perhaps OS X applying gamma correction to the screen so that any image displayed on the screen will have its RGB values slightly altered?
    If this is the case why isn't the DigitalColor meter affected or does it read a pixel's RGB values directly from graphics memory instead of screen memory where the gamma correction is being applied, not that I know how a Mac's graphics are organized, but I'm assuming anything to be displayed on the screen first has to be fetched from graphics memory.
    Powermac G4 Quicksilver Dual 1 GHz   Mac OS X (10.4.10)   1.5 GB SDRAM, 120 GB HD, 23" Cinema Display
    Powermac G4 Quicksilver Dual 1 GHz   Mac OS X (10.4.10)   1.5 GB SDRAM, 120 GB HD, 23" Cinema Display

    Well this is a day of debugging I'd rather have back.
    With a form of Rubber ducking my colleague helped me notice that the number of items being displaced was equal to the number of page zero item I added recently.
    These items were placed in my menu region, which happens to be region position 7.
    I had commented out a section of my page template
    <!--<header id="uHeader">
      <div class="apex_grid_container clearfix">
        <div class="apex_cols apex_span_12">
          #REGION_POSITION_07#
          <div class="logoBar">
            <h1><a href="#HOME_LINK#" id="uLogo">#LOGO#</a></h1>
            <div class="userBlock">
              <img src="#IMAGE_PREFIX#f_spacer.gif" class="navIcon user" alt="">
              <span>&APP_USER.</span>
              #NAVIGATION_BAR#
            </div>
          </div>
        </div>
      </div>
    </header>-->
    but this content was obviously still being generated.
    At some point during the page submission, this disturbed what apex was doing - somewhere these 'duplicated' yet commented field definitions were causing apex_application.accept to store the values in locations offset by the four P0 items.
    I often look to page zero for potential causes to strange issues - but this one initially beat me.

  • An internal error has occurred:  ?:0: attempt to index a nil value after installing LR5.5 update and trying to play or preview slideshow

    An internal error has occurred:  ?:0: attempt to index a nil value after installing LR5.5 update and trying to play or preview slideshow. Never had this problem before. I went to forums and see that this is a problem with previous versions and this only occurred after installing lastest update.

    Jeannine,
         If you follow the advice of the previous poster Julie Kmoch and then gradualy add presets back in one at a time you might be able to find the one that is causing the issue. I may be guessing, but I believe the issue has something to do with either an incompatible Preset setting (eg a older preset in newer version of LR) or a corrupt Preset.
    Say you bought LR2 and imported a bunch of Presets from the internet, cuz 'Hey these effects are cool and I don't have to recreate the wheel', and then you upgraded to LR3 (not a clean install) and now one of the Presets that calls a certain slider setting or value that is different in LR3 doesn't work anymore. This might be why it throws the error, but again I am just speculating.
    Location of LR Preset folder in Windows Vista/ Windows 7
    C:/Users/<YourUserName>/AppData/Roaming/Adobe/Lightroom/Develop Presets
    If you do not see the folder AppData, you may need to change the settings in Windows Explorer to 'Show Hidden Files and Folders'. To do that in Windows Vista/ Windows 7, open a Windows Explorer window, Click on Organize, then Foler and Search Options. Then click on the View tab and select the option button next to Show hidden files, folders and drives.
    Hope this helps a bit,
    Glenn

  • RGB values of current terminal color settings?

    The colors displayed for different ANSI escape codes are configurable via .Xdefaults or directly on the command line via other ANSI escapes.
    Is there any way to dump the current values from a terminal? For example, given the ANSI escape code "\033[31m", I would like to know the current RGB values used to display it.
    Obviously this will depend on the terminal (e.g. urxvt can have different settings from xterm), but I'm hoping that there is some obscure tool to do this.

    Coincidentally, I recently wrote a script to do exactly this: query all the color values from a terminal emulator and show them in a nice table. I was planning to make a thread for this, but this thread is perfect.  In my opinion, the strategy of querying colors from the terminal itself is superior (when it is supported by the terminal) to mucking around with .Xresources, .Xdefaults, or "xrdb --query", which only work in pretty limited situations. The drawbacks of my approach are: (1) it can be challenging to make the same code work on different terminal emulators, and (2) you have to use it from the terminal you want to query, and not from within a screen or tmux session. (I think there may be partial workarounds for (2), but I haven't implemented them.) I've tested my code on a number of terminals, and the upshot is that xterm and urxvt are supported flawlessly, and VTE-based terminals like gnome-terminal and XFCE's "Terminal" are almost fully supported. (I wasn't able to query the default foreground and background colors, but everything else seems to work.) Most other X terminals don't seem to support this method of querying color values.
    Here's an example of what the script produces:
    Obviously, that's a heavily formatted table, but I think the code has enough comments that you can take what you need from it. It works under python 3 or python 2.7.
    Edit: This version is superseded by the one in post #27, which is structured better. I'm leaving this here since some of the future replies refer to it.
    #!/usr/bin/python
    This is a Python script to show off your terminal ANSI colors (or more
    colors, if your terminal has them). It works on both Python 2.7 and
    Python 3.
    This script must be run from the terminal whose colors you want to
    showcase. Not all terminal types are supported (see below). At the
    very minimum, 16-color support is required.
    Fully supported terminals:
    xterm
    urxvt
    For these terminals, this script can show a color table with correct RGB
    values for each color. It queries the RGB values from the terminal
    itself, so it works even if you change the colors after starting the
    terminal.
    Mostly supported terminals: pretty much all VTE-based terminals. This
    includes:
    vte
    Terminal (XFCE)
    gnome-terminal
    terminator
    tilda
    and many more. These are on "mostly" status because I don't know how to
    query their foreground and background colors. Everything else works,
    though, albeit with noticeable slowness (which may be beyond this
    script's control).
    Somewhat supported terminals: pretty much all other X-client terminals
    I've tried. These include:
    konsole (KDE)
    terminology (Enlightenment)
    Eterm (Enlightenment)
    (etc.)
    For these terminals, the script can output a color table just fine, but
    without RGB values.
    Unsupported terminals:
    ajaxterm
    Linux virtual console (i.e., basic TTY without X-windows)
    Warning: do not run this script on the Linux virtual console unless you
    want a garbled TTY! That said, you can still type `tput reset<Enter>'
    afterward to get back to a usable console. :-) The situation with
    ajaxterm is similar, but not as bad.
    If a terminal isn't mentioned here, I probably haven't tried it. Attempt
    at your own risk!
    Note regarding screen/tmux: this script can theoretically be run from a
    screen or tmux session, but you will not get any RGB values in the
    output (indeed, a screen session can be opened on multiple terminals
    simultaneously, so there typically isn't a well defined color value for
    a given index). However, it's interesting to observe that screen and
    tmux emulate a 256 color terminal independently of the terminal(s)
    to which they are attached, which is very apparent if you run the script
    with 256-color output on a screen session attached to a terminal with 8-
    or 16-color terminfo (or with $TERM set to such).
    This code is licensed under the terms of the GNU General Public License:
    http://www.gnu.org/licenses/gpl-3.0.html
    and with absolutely no warranty. All use is strictly at your own risk.
    from sys import stdin, stdout, stderr
    import re
    import select
    import termios
    from collections import defaultdict
    from argparse import (ArgumentParser, ArgumentError)
    # Operating system command
    osc = "\033]"
    # String terminator
    # ("\033\\" is another option, but "\007" seems to be understood by
    # more terminals. Terminology, for example, doesn't seem to like
    # "\033\\".)
    st = "\007"
    # Control sequence introducer
    csi = "\033["
    # ANSI SGR0
    reset = csi + 'm'
    # Errors that may be raised by rgb_query
    num_errors = 0
    class InvalidResponseError(Exception):
    The terminal's response couldn't be parsed.
    def __init__(self, q, r):
    global num_errors
    num_errors += 1
    Exception.__init__(self, "Couldn't parse response " + repr(r) +
    " to query " + repr(q))
    class NoResponseError(Exception):
    The terminal didn't respond, or we were too impatient.
    def __init__(self, q):
    global num_errors
    num_errors += 1
    Exception.__init__(self, "Timeout on query " + repr(q))
    # Wrappers for xterm & urxvt operating system controls.
    # These codes are all common to xterm and urxvt. Their responses aren't
    # always in the same format (xterm generally being more consistent), but
    # the regular expression used to parse the responses is general enough
    # to work for both.
    # Note: none of these functions is remotely thread-safe.
    def get_fg(timeout):
    Get the terminal's foreground (text) color as a 6-digit
    hexadecimal string.
    return rgb_query([10], timeout)
    def get_bg(timeout):
    Get the terminal's background color as a 6-digit hexadecimal
    string.
    return rgb_query([11], timeout)
    def get_color(a, timeout):
    Get color a as a 6-digit hexadecimal string.
    return rgb_query([4, a], timeout)
    def test_fg(timeout):
    Return True if the terminal responds to the "get foreground" query
    within the time limit and False otherwise.
    return test_rgb_query([10], timeout)
    def test_bg(timeout):
    Return True if the terminal responds to the "get background" query
    within the time limit and False otherwise.
    return test_rgb_query([11], timeout)
    def test_color(timeout):
    Return True if the terminal responds to the "get color 0" query
    within the time limit and False otherwise.
    return test_rgb_query([4, 0], timeout)
    def test_rgb_query(q, timeout):
    Determine if the terminal supports query q.
    Arguments: `q' and `timeout' have the same interpretation as in
    rgb_query().
    Return: True if the terminal gives a valid response within the
    time limit and False otherwise.
    This function will not raise InvalidResponseError or
    NoResponseError, but any other errors raised by rgb_query will
    be propagated.
    try:
    rgb_query(q, timeout)
    return True
    except (InvalidResponseError, NoResponseError):
    return False
    # String to use for color values that couldn't be determined
    rgb_placeholder = '??????'
    # This is what we expect the terminal's response to a query for a color
    # to look like. If we didn't care about urxvt, we could get away with a
    # simpler implementation here, since xterm and vte seem to give pretty
    # consistent and systematic responses. But I actually use urxvt most of
    # the time, so....
    ndec = "[0-9]+"
    nhex = "[0-9a-fA-F]+"
    crgb = ("\033\\]({ndec};)+rgba?:" +
    "({nhex})/({nhex})/({nhex})(/({nhex}))?").format(**vars())
    re_response = re.compile(crgb)
    # The problem I'm attempting to work around with this complicated
    # implementation is that if you supply a terminal with a query that it
    # does not recognize or does not have a good response to, it will simply
    # not respond *at all* rather than signaling the error in any way.
    # Moreover, there is a large variation in how long terminals take to
    # respond to valid queries, so it's difficult to know whether the
    # terminal has decided not to respond at all or it needs more time.
    # This is why rgb_query has a user-settable timeout.
    P = select.poll()
    P.register(stdin.fileno(), select.POLLIN)
    def flush_input():
    Discard any input that can be read at this moment.
    repeat = True
    while repeat:
    evs = P.poll(0)
    if len(evs) > 0:
    stdin.read()
    repeat = True
    else:
    repeat = False
    def rgb_query(q, timeout=-1):
    Query a color-valued terminal parameter.
    Arguments:
    q: The query code as a sequence of nonnegative integers, i.e.,
    [q0, q1, ...] if the escape sequence in pseudo-Python is
    "\033]{q0};{q1};...;?\007"
    timeout: how long to wait for a response. (negative means
    wait indefinitely if necessary)
    Return: the color value as a 6-digit hexadecimal string.
    Errors:
    NoResponseError will be raised if the query times out.
    InvalidResponseError will be raised if the terminal's
    response can't be parsed.
    See
    http://invisible-island.net/xterm/ctlseqs/ctlseqs.html
    ("Operating System Controls") to see the various queries
    supported by xterm. Urxvt supports some, but not all, of them,
    and has a number of its own (see man -s7 urxvt).
    Warning: before calling this function, make sure the terminal is
    in noncanonical, non-blocking mode.
    query = osc + ';'.join([str(k) for k in q]) + ';?' + st
    flush_input()
    stdout.write(query)
    stdout.flush()
    # This is addmittedly flawed, since it assumes the entire response
    # will appear in one shot. It seems to work in practice, though.
    evs = P.poll(timeout)
    if len(evs) == 0:
    raise NoResponseError(query)
    r = stdin.read()
    m = re_response.search(r)
    if not m:
    raise InvalidResponseError(query, r)
    # (possibly overkill, since I've never seen anything but 4-digit RGB
    # components in responses from terminals, in which case `nd' is 4
    # and `u' is 0xffff, and the following can be simplified as well
    # (and parse_component can be eliminated))
    nd = len(m.group(2))
    u = int('f'*nd, 16)
    # An "rgba"-type reply (for urxvt) is apparently actually
    # rgba:{alpha}/{alpha * red}/{alpha * green}/{alpha * blue}
    # I opt to extract the actual RGB values by eliminating alpha. (In
    # other words, the alpha value is discarded completely in the
    # reported color value, which is a compromise I make in order to get
    # an intuitive and compact output.)
    if m.group(5):
    # There is an alpha component
    alpha = float(int(m.group(2), 16))/u
    idx = [3, 4, 6]
    else:
    # There is no alpha component
    alpha = 1.0
    idx = [2, 3, 4]
    c_fmt = '%0' + ('%d' % nd) + 'x'
    components = [int(m.group(i), 16) for i in idx]
    t = tuple(parse_component(c_fmt % (c/alpha)) for c in components)
    return "%02X%02X%02X" % t
    def parse_component(s):
    Take a string representation of a hexadecimal integer and transorm
    the two most significant digits into an actual integer (or double
    the string if it has only one character).
    n = len(s)
    if n == 1:
    s += s
    elif n > 2:
    s = s[:2]
    return int(s, 16)
    def test_num_colors(timeout):
    Attempt to determine the number of colors we are able to query from
    the terminal. timeout is measured in milliseconds and has the same
    interpretation as in rgb_query. A larger timeout is safer but will
    cause this function to take proportionally more time.
    if not test_color(timeout):
    return 0
    a = 0
    b = 1
    while test_rgb_query([4, b], timeout):
    a = b
    b += b
    while b - a > 1:
    c = (a + b)>>1
    if test_rgb_query([4, c], timeout):
    a = c
    else:
    b = c
    return b
    class ColorDisplay(object):
    Class for producing a colored display of terminal RGB values.
    def __init__(self, timeout=100, color_level=3, do_query=True):
    timeout: same interpretation as in rgb_query. A larger timeout
    will be used a small number of times to test the
    capabilities of the terminal.
    color_level: how much color should be in the output. Use 0 to
    suppress all color and 3 or greater for maximum coloredness.
    do_query: whether to attempt to query RGB values from the
    terminal or just use placeholders everywhere
    self.timeout=timeout
    self.color_level=color_level
    # try getting the rgb value for color 0 to decide whether to
    # bother trying to query any more colors.
    self.do_query = do_query and test_color(self.timeout*5)
    def none_factory():
    return None
    # colors for highlighting
    self.hi = defaultdict(none_factory)
    self.hi['['] = 10
    self.hi[']'] = 10
    self.hi['+'] = 9
    self.hi['/'] = 9
    for c in '0123456789ABCDEF':
    self.hi[c] = 12
    def show_ansi(self):
    Show the 16 ANSI colors (colors 0-15).
    color_order = [0, 1, 3, 2, 6, 4, 5, 7]
    names = [' Black ', ' Red ', ' Green ', ' Yellow ',
    ' Blue ', ' Magenta', ' Cyan ', ' White ']
    stdout.write(self.fgcolor('15', 3))
    for k in range(8):
    a = color_order[k]
    stdout.write(names[a])
    stdout.write('\n')
    stdout.write(self.fgcolor(None, 3))
    c = None
    for k in range(8):
    a = color_order[k]
    c = self.hiprint(' [%X/%X] ' % (a, 8 + a), c)
    stdout.write('\n')
    self.show_color_table([0,8], color_order)
    def show_color_cube(self, n):
    Show the "RGB cube" (xterm colors 16-231 (256-color) or 16-79
    (88-color)). The cube has sides of length 6 or 4 (for 256-color
    or 88-color, respectively).
    base = {256:6, 88:4}[n]
    c = None
    c = self.hiprint('[ + ] ', c)
    for w in range(base):
    c = self.hiprint('[%X] ' % w, c)
    stdout.write('\n\n' + self.fgcolor(None, 3))
    for u in range(base):
    for v in range(base):
    stdout.write(' '*v)
    x = (u*base + v)*base
    self.hiprint(' [%02X] ' % (16 + x))
    for w in range(base):
    self.show_color(x + w + 16)
    stdout.write('\n')
    stdout.write('\n\n')
    def show_grayscale_ramp(self, end):
    Show the "grayscale ramp" (xterm colors 232-255 (256-color) or
    80-87 (88-color)).
    start = {256:232, 88:80}[end]
    n = end - start
    vals = [self.get_color(a) for a in range(start, end)]
    #stdout.write(reset)
    c = None
    c = self.hiprint('[ ', c)
    for v in range(n):
    c = self.hiprint('%02X ' % (start + v), c)
    c = self.hiprint(']\n', c)
    stdout.write('\n ' + self.fgcolor(None, 3))
    for v in range(n):
    stdout.write(' ' + self.block(start + v, 2))
    stdout.write('\n ')
    for u in range(3):
    for v in range(n):
    stdout.write(' ')
    stdout.write(self.fgcolor(start + v, 2))
    stdout.write(vals[v][2*u : 2*(u + 1)])
    stdout.write(self.fgcolor(None, 2))
    stdout.write('\n ')
    stdout.write('\n')
    def show_colors(self, n):
    Make a table showing colors 0 through n-1.
    self.show_color_table(range(0,n,8), range(8), n, True)
    def show_color_table(self, rows, cols, stop=-1, label=False):
    Make a color table with all possible color indices of the form
    rows[k] + cols[j] that are less than `stop' (if `stop' is not
    negative). If label is True, then print row and column labels.
    if label:
    self.hiprint('[ + ]')
    stdout.write(self.fgcolor(None, 3))
    for a in cols:
    stdout.write(' ' + self.octal(a) + ' ')
    stdout.write('\n')
    if label:
    stdout.write(' ')
    stdout.write('\n')
    for b in rows:
    if label:
    stdout.write(self.octal(b) + ' ')
    for a in cols:
    c = a + b
    if stop < 0 or c < stop:
    self.show_color(b + a)
    else:
    stdout.write(' ')
    stdout.write('\n')
    stdout.write('\n')
    def show_color(self, a):
    Make a pretty display of color number `a', showing a block of
    that color followed by the 6-character hexadecimal code for the
    color.
    stdout.write(' ' + self.block(a) + ' ')
    stdout.write(self.fgcolor(a, 2) + (self.get_color(a)))
    stdout.write(self.fgcolor(None, 2))
    def hiprint(self, s, last_color=-1):
    Print s to stdout, highlighting digits, brackets, etc. if the
    color level allows it.
    Arguments:
    s: the string to print.
    last_color: the current terminal foreground color. This
    should be `None' if no color is set, or the current
    color index, or something else (like a negative integer)
    if the color isn't known. (The last option is always
    safe and will force this function to do the right
    thing.)
    Return: the current foreground color, which can be passed as
    last_color to the next call if the color isn't changed in
    between.
    for c in s:
    if c == ' ':
    color = last_color
    else:
    color = self.hi[c]
    if color != last_color:
    stdout.write(self.fgcolor(color, 3))
    stdout.write(c)
    last_color = color
    return last_color
    def octal(self, x):
    Return a base-8 string for the integer x, highlighted if the
    color level allows it.
    return self.fgcolor(self.hi['+'], 3) + '0' + \
    self.fgcolor(self.hi['0'], 3) + ('%03o' % x)
    def block(self, c, n=1):
    Return a string that prints as a block of color `c' and size `n'.
    return self.bgcolor(c, 1) + ' '*n + self.bgcolor(None, 1)
    # Changing the foreground and background colors.
    # While the 38;5 and 48;5 SGR codes are less portable than the usual
    # 30-37 and 40-47, these codes seem to be fairly widely implemented (on
    # X-windows terminals, screen, and tmux) and support the whole color
    # range, as opposed to just colors 0-8. They also make it very easy to
    # set the background to a given color without needing to mess around
    # with bold or reverse video (which are hardly portable themselves).
    # This is useful even for the 16 ANSI colors.
    def fgcolor(self, a=None, level=-1):
    Return a string designed to set the foreground color to `a' when
    printed to the terminal. None means default.
    if self.color_level >= level:
    if a is None:
    return csi + '39m'
    else:
    return csi + '38;5;' + str(a) + 'm'
    else:
    return ''
    def bgcolor(self, a=None, level=-1):
    Return a string designed to set the background color to `a' when
    printed to the terminal. None means default.
    if self.color_level >= level:
    if a is None:
    return csi + '49m'
    else:
    return csi + '48;5;' + str(a) + 'm'
    else:
    return ''
    def get_color(self, a):
    if self.do_query:
    try:
    return get_color(a, timeout=self.timeout)
    except (InvalidResponseError, NoResponseError):
    return rgb_placeholder
    else:
    return rgb_placeholder
    # Command-line arguments
    timeout_dft = 200
    parser = ArgumentParser(
    description="Python script to show off terminal colors.",
    epilog="Run this script from the terminal whose colors " +
    "you want to showcase. " +
    "For a brief synopsis of which terminal types are " +
    "supported, see the top of the source code.")
    mode_group = parser.add_mutually_exclusive_group()
    p_choices = [16, 88, 256]
    arg_p = mode_group.add_argument(
    '-p', '--pretty',
    action='store_true', default=False,
    help="show colors 0 through N-1 in a pretty format. " +
    ("N must belong to %r. " % p_choices) +
    "If N > 16, it should be the actual number of colors " +
    "supported by the terminal, or the output will almost " +
    "certainly not be pretty.")
    mode_group.add_argument(
    '-f', '--flat',
    action='store_true', default=False,
    help="show a simple table with colors 0 through N-1. ")
    parser.add_argument(
    'n', nargs='?', metavar='N',
    type=int, default=16,
    help="number of colors to show. " +
    "Unless you explicitly supply -p/--pretty or -f/--flat, " +
    "--pretty is used if possible and --flat is used " +
    "otherwise. " +
    "N defaults to 16, showing the ANSI colors 0-15. " +
    "If N is 0, the script will attempt to determine the " +
    "maximum number of colors automatically " +
    "(which may be slow).")
    parser.add_argument(
    '--no-fgbg',
    action='store_false', dest='fgbg', default=True,
    help="suppress display of foreground/background colors.")
    parser.add_argument(
    '--no-query',
    action='store_false', dest='do_query', default=True,
    help="don't try to query any RGB values from the terminal " +
    "and just use placeholders.")
    parser.add_argument(
    '-t', '--timeout', metavar='T',
    type=int, default=timeout_dft,
    help="how long to wait for the terminal to "
    "respond to a query, in milliseconds " +
    "[default: {0}]. ".format(timeout_dft) +
    "If your output has '?' characters " +
    "instead of RGB values " +
    "or junk printed after the script runs, " +
    "increasing this value may or may not " +
    "help, depending on the terminal. " +
    "A negative T will behave like infinity.")
    parser.add_argument(
    '-l', '--level', metavar='L',
    type=int, default=3,
    help="choose how much color to use in the output. " +
    "(0 = no color; 3 = most color [default])")
    if __name__ == '__main__':
    args = parser.parse_args()
    assert not (args.pretty and args.flat)
    if args.pretty:
    if args.n not in p_choices:
    raise ArgumentError(
    arg_p,
    "N must belong to %r" % p_choices)
    tc_save = None
    try:
    tc_save = termios.tcgetattr(stdout.fileno())
    tc = termios.tcgetattr(stdout.fileno())
    # Don't echo the terminal's responses
    tc[3] &= ~termios.ECHO
    # Noncanonical mode (i.e., disable buffering on the terminal
    # level)
    tc[3] &= ~termios.ICANON
    # Make input non-blocking
    tc[6][termios.VMIN] = 0
    tc[6][termios.VTIME] = 0
    termios.tcsetattr(stdout.fileno(), termios.TCSANOW, tc)
    if args.n == 0:
    args.n = test_num_colors(args.timeout)
    # We are guaranteed to have failed some queries now, but
    # that isn't meaningful.
    num_errors = 0
    if not (args.pretty or args.flat):
    if args.n in p_choices:
    args.pretty = True
    else:
    args.flat = True
    if args.level >= 1:
    stdout.write(reset)
    if args.fgbg:
    if args.do_query:
    try:
    bg = get_bg(timeout=args.timeout)
    except (InvalidResponseError, NoResponseError):
    bg = rgb_placeholder
    try:
    fg = get_fg(timeout=args.timeout)
    except (InvalidResponseError, NoResponseError):
    fg = rgb_placeholder
    else:
    bg = rgb_placeholder
    fg = rgb_placeholder
    stdout.write("\n Background: %s\n" % bg)
    stdout.write(" Foreground: %s\n\n" % fg)
    C = ColorDisplay(args.timeout, args.level, args.do_query)
    if args.pretty:
    assert args.n in p_choices
    stdout.write('\n ANSI colors:\n\n')
    C.show_ansi()
    if args.n > 16:
    stdout.write('\n RGB cube:\n\n')
    C.show_color_cube(args.n)
    stdout.write(' Grayscale ramp:\n\n')
    C.show_grayscale_ramp(args.n)
    else:
    C.show_colors(args.n)
    if num_errors > 0:
    stderr.write("Warning: not all queries succeeded\n" +
    "Warning: (output contains " +
    "placeholders and may be inaccurate)\n")
    finally:
    if args.level >= 1:
    stdout.write(reset)
    flush_input()
    if tc_save != None:
    termios.tcsetattr(stdout.fileno(),
    termios.TCSANOW, tc_save)
    Run it as
    python showcolors.py -h
    to get an overview of the functionality.
    TL;DR: you can echo a string like "\033]4;13;?\007" to an xterm, and it will output the RGB value of color #13 to itself in the form "\033]4;13;rgb:rrrr/gggg/bbbb\007", which you can then read and parse. To try it out:
    $ echo -en "\033]4;13;?\007"
    There are some subtleties if you want this to work on other terminals like urxvt; for that you can experiment yourself or read the code. 
    Further reading: http://invisible-island.net/xterm/ctlseqs/ctlseqs.html (heading "Operating System Controls").
    Xyne, regarding determining the number of colors: I don't know how to do that completely reliably. You can try simply
    tput colors
    but this relies on the value of $TERM and its terminfo and thus may be unreliable. A kludgy but workable way to do this using the "rgb_query" function in my script is to query color values using binary search to find the highest color value the terminal will allow you to query. The main problem with this is that if you query an invalid color index, then the terminal just won't respond at all, and if you query a valid index, it will respond but after a somewhat unpredictable delay, so it's hard to know for sure which one is the case. Like I said, it's kludgy but workable.
    Edit: I went ahead and added that functionality to my script. Try running it as
    python showcolors.py 0
    or look at the function "test_num_colors".
    Last edited by Lux Perpetua (2012-10-22 11:18:21)

  • How can I select an area of a picture (larger than one pixel) and find the average RGB values of all the pixels contained inside the area?

    I'm analysing the differences between several different images and I would like to select a large area of each (such as with lasso tool) and find the average RGB value of all of the pixels within the selection area made/

    With the selection you could do a copy paste and use the histogram of the new layer set the histogram source to selected layer.  The eye dropper sample size may also to get the average  of a square area around a point.

  • Assigning an RGB Value variable that doesnt Change

    Hi,
    I have been working on a program that takes an image, tuurns all the dark pixels to blue ones and then finds the bounderies of the blue areas. Im having difficulty detecting the Blue pixels
    Im using
    BufferedImage.getRGB(x,y) to get the value of a blue pixel
    I assigned the blue value as int blue = 0xff;
    but the program doesnt seem to pick up the same RGB value each time !
    Thanks for the help
    Graeme

    Hi,
    The code i used for fliping the coords below, Ive not touched ColorModels didnt think it was nessecary if it was just a straight forward color comparison. It sets the color but seems to be reading it in differently
    bi = getBufferedImage("C:/GB Y4/Project/Backups Project/lego/VisionSystem/Workstation/Images/image.jpeg",this);
              rgb = 0;
              // loops through and gathers the rgb values for the Image !!
              for(int a =0; a < 320; a++){
              for(int b =0; b < 240; b++){
              rgb = bi.getRGB(a,b) ;
              red = (rgb / 0x10000) & 0xff ;
              green = (rgb / 0x100) & 0xff ;
              blue = rgb & 0xff ;
              //System.out.println("Blue :" +blue );
              // loops through all the pixels in the Image 240 X 320 = 76000 pixels
              // If a Black pixel then find edge
         if(red > 0 && red < 60 || green > 0 && green < 80 || blue > 0 && blue < 80 ){
                   // TESTING (See if coordinates are being scanned)
                   //System.out.println("Black pixel found at (" + a +","+ b +")");
                   //     Replacing Pixels re-write the image boundery in Blue
                   bi.setRGB(a,b,0xff0000ff );
                   // TESTING
                   //     Saving the Position of all the Blue Pixels
                   savePos(a,b);
              

  • How does Photoshop convert LAb to RGB values?

    I'm working on a project and the only way to obtain RGB or LAB values is my using the color picker. I don't want to have to do that manually everytime i need an lab to be converted to a photoshop RGB. I need to know how that is computed.

    First, there's no such ting as "RGB" to convert to, only specific RGB color spaces such as sRGB, Adobe RGB or ProPhoto. You get different values in all of them.
    As it happens Lab values are always available through the Color Management Module. Lab is one of two profile connection spaces used in all color management operations (the other is CIE XYZ). For instance, as you view the image on screen the RGB values in the file are constantly calculated as document profile > Lab (or XYZ) > display profile.
    These are complex calculations and good luck doing it manually. The easy way is to use the color picker.

Maybe you are looking for