Exposure and Brightness, how to use

When a photo needs to be corrected it being too light or too dark, I really don't know whether to use the exposure or the brightness rulers and what to use first?
Since I think I get the same effect, my feeling is that it doen't seem to matter? But I assume that in concluding this I am wrong!
To complicate matters further I also can adjust using the tone curve?
What is your advise?
What to use first and what to use in what sequence?
Can you perhaps recommend a good tutorial?
I use the fine book written by Scott Kelby LR3 but do not find information that is the point I am looking for.
Thanks for your advise!

Exposure sets white point, i.e. its like moving the right wall of the histogram, i.e. rightmost "triangle slider" of a more conventional levels/curves tool.
Brightness lightens mid-tones most, i.e. its like moving the middle "triangle" slider on the tone curve of a more conventional levels/curves tool.
PS - A favorite technique of mine for brushing in intra-shadow contrast is a local with exposure most of the way up and brightness all the way down - if you can see why that works, then you understand the difference between brightness and exposure.
PPS - Anything brightness slider can do, tone curve can do better, however nothing you do with the tone curve can accomplish the same thing as exposure adjustment.
I generally adjust exposure first paying closest attention to the highlights - e.g. increase until highlights start to blow out, then adjust black point, e.g. increase until shadows start to clip (or decrease so they dont), then adjust (midtone) brightness and/or fill-light, then tweak tone curve if necessary. Rinse & repeat... All of this depending on the photo of course - for silohuettes you may want heavy black clippage, and for dark shots you may want a lot of headroom at the right end of the histogram...
PS - In Lightroom 2 I used to favor brightness over fill-light for adjusting midtone brightness, but Lr3's fill-light is much improved and can be used much more heavy handedly, in case you want to bring up the darker midtones, whereas brightness raises the lighter midtones more.
Use the histogram Luke!!!
PS - Also, the tat (bull's eye of the tone curve) is an excellent tool for surveying tones, move it around to see where exactly the dark/light tones fall on the histogram.
Definitions: Contrast = tonal separation, so intrashadow contrast means separating tones within the darkest regions without affecting the lighter regions. i.e. increasing intra shadow detail without increasing overall shadow brightness.
And my favorite technique for bringing out highlight detail (increasing intra-highlight contrast) is simply to paint negative contrast confined to the highlights only. Say what? ;-}
R

Similar Messages

  • Just got a new 2.7 and wondered how to use optical out from g5

    i got 2408 motu and wanted to use apples optical ins and outs together 2408 i tried have not even figured out how to get the optical to work bare with me im switching over from protools .So explain the setup on how to use multiple sound cards in logic and if its posible to use apples optical ins and outs thank you

    Ask the Verizon store to exchange your iPhone for a different iPhone 4.
    UPDATE - Sure, try ckuan's solution first.  Then use mine if that fails.
    Message was edited by: sberman

  • OTT use and example .How to use it??

    Hello
    Could anyone write me how to use OTT step by step?
    When I use ott userid=scott/tiger intype=demoin.typ outtype=demoout.typ code=cpp
    hfile=demo.h cppfile=demo.cpp mapfile=RegisterMappings.cpp I get an error:
    Error in OTT stub: invalid parameter
    I can not manage with this problem.
    Could anyone help??
    Where should also files ontype and outtype be (in filesystem) and what should be their amounts?
    I have seen OCCI userguide for OTT but i can not manage with it.
    I can not also find any description for using OTT with an example step by step
    Best regards

    Hello
    Well, when I set up Oracle_Home I can not then connect to my database.
    Could You describe step by step how You use OTT,please?
    I just need an example, a kind of tutorial
    Best regards.
    Marcin
    [email protected]

  • Trying to understand and learn how to use btrfs

    I have been the past days trying to get my head around how btrfs works
    I have been trying tools like mkinitcpio-btrfs (very poorly documented) and now, if i list the subvolumes i have in certain volume (/) i see i have 4 subvolumes that have been created while playing around.
    If i try to delete them with "sudo btrfs subvolume delete __active", for example, I get a "ERROR: Error accessing '__active'
    What am I doing wrong?
    Also, I cannot get the whole idea about the difference between snapshots and subvolumes, i mean, a snapshot should be a directory that saves the changes made on the fs, s, if you want to roll back those changes, you just have to make btrfs "forget" the changes stored in that directory and move along, but I cannot take the idea of the subvolume thing.....
    As btrfs is quite experimental and the wikis are not noob-proof still, I'd appreciate if someone gave me a hand trying to understand these concept...
    For the moment, I'm just using it on a test computer and on a personal laptop with no fear of data loss,.
    Any help is welcome
    Thanks!
    Last edited by jasonwryan (2013-07-19 23:13:27)

    I honestly think it is probably a better idea to not use mkinitpcio-btrfs.  As mentioned above, it is poorly documented, and for me it has never worked right (if at all).  It is an unofficial AUR package, and unfortunately our wiki still seems to give the false impression that using this package is the way to user btrfs with Arch.
    The way I have my system set up is that in subvolid=0 (the root of the btrfs filesystem) I have a rootfs subvolume and a home subvolume (there are others, but these are what primarily make up my system).  So in my fstab, I basically have two nearly identical lines, but one has no subvol specified and is mounted at /, and the other has 'subvol=home' mounted at /home. 
    So in order to make it so that I can change the root filesystem as I please, instead of having the / fstab entry specify the subvolume, I put it in the kernel command line.  That is, I have 'rootflags=subvol=rootfs' in the kernel command line.  So if I want to change it, I simply change the path to one of the snapshots. 
    Just remember that if you are one who likes a custom kernel, it is likely that you will have to have an initamfs no matter what you compile into your kernel.  For one thing, the kernel has no mechanism for scanning for multiple device btrfs filesystems.  But also, I have read that the kernel itself cannot handle the rootflags kernel command line argument.
    Oracle Linux does something interesting with their default setup.  They are not a rolling release, so this probably wouldn't work so well in Arch Linux, but they actually install the root filesystem (I think it is actually done to subvolid=0) and then after installation of the packages, a snapshot of the root filesystem is made, and the system is setup to boot off of that snapshot.  So it is almost like having an overlayfs on openwrt.  There is always a copy of the original system, and and changes that are being made are being done "on top" of the original.  So in the event of an emergency, yo can always get back to the original working state.
    If you put your root filesystem on something other than the root of the btrfs filesystem (which you should, as it makes the whole setup much more flexible), then you should also set up a mountpoint somewhere to give administrator access to the filesystem from subvolid=0.  For example, I have an autofs mountpoint at /var/lib/btrfs-root.   chose that spot because /var/lib is where devtools puts the clean chroot.  So it seemed as reasonable a place as any.
    You should go to the btrfs wiki, and peruse through the stuff there... not our wiki, but the actual btrfs one, as our wiki is pretty sparse.  There is not all that much content there (not like the Arch wiki), but it does cover the features pretty well.  I mean, there is certainly quite a lot for being information on only a single filesystem, but it shouldn't take you too long to get through it.  There are a few links to articles about midway down the front page.  What really gave me a better grasp of getting started with btrfs were the ones titled "How I Got Started with the Btrfs Filesystem for Oracle Linux" and "How I Use the Advanced Capabilities of Btrfs".

  • Sample code to get 1st 5 characters of a field and also how to use help ?

    hi ABAP4 experts,
    We are kind of new at ABAP4. We'd be appreciated if you would provide sample code to get 1st 5 characters of a field and also let us know on how to use ABAP4 help to look for such kind solution that next time we don't have to bother you guys here!
    We will give you reward points!
    Message was edited by: Kevin Smith

    Hi Kevin,
    here is the Example for the offset which you want
    DATA TIME TYPE T VALUE '172545'.
    WRITE TIME.
    WRITE / TIME+2(2).
    CLEAR TIME+2(4).
    WRITE / TIME.
    <u>The output appears as follows:</u>
    172545
    25
    170000
    <i>First, the minutes are selected by specifying an offset in the WRITE statement. Then, the minutes and seconds are set to their initial values by specifying an offset in the clear statement.</i>
    <b>2nd Example:-</b>
    DATA: F1(8) VALUE 'ABCDEFGH',
    F2(8).
    DATA: O TYPE I VALUE 2,
    L TYPE I VALUE 4.
    MOVE F1 TO F2.      WRITE F2.
    MOVE F1+O(L) TO F2.      WRITE / F2.
    MOVE F1 TO F2+O(L). WRITE / F2.
    CLEAR F2.
    MOVE F1 TO F2+O(L). WRITE / F2.
    MOVE F1O(L) TO F2O(L). WRITE / F2.
    This produces the following output:
    ABCDEFGH
    CDEF
    CDABCD
      ABCD
      CDEF
    First, the contents of F1 are assigned to F2 without offset specifications. Then, the same happens for F1 with offset and length specification. The next three MOVE statements overwrite the contents of F2 with offset 2. Note that F2 is filled with spaces on the right, in accordance with the conversion rule for source type C.
    if you want more info
    http://help.sap.com/saphelp_nw04/helpdata/en/fc/eb341a358411d1829f0000e829fbfe/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/fc/eb3294358411d1829f0000e829fbfe/content.htm
    hope this solves your Problem
    Thanks
    Sudheer

  • Files and Workflow, How to Use it ?

    Hi, I'm running OCS 9.0.3.1 single box under windows.
    I have already integrated workflow an files, and everything is running fine.
    But now, if I want to try the demo process for document management that is shipped with WF, how do I attach an Oracle Files document directly to the process (in the html form to launch the process there is a link to attach de document, but doesn't work) ? there's any configuration.
    I know that there's integration developing some code under iFS, but I heard that Oracle Files it's a closed version of iFS, so there's no code dev there. Anyone has tried to use it yet ?
    An example or configuration guide would be great.
    Thanks a lot in advance.
    Esteban Eid

    It has recently emerged that Apple will provide "support for 11 other RAW formats from different cameras, including the Nikon D40, Leica Digilux 3, Panasonic Lumix DMC-L1, Samsung GX-1L, and seven of the Leaf Aptus and Valeo models."
    This is from the mouth (or, actually, pen) of Joe Schorr who's heading the Aperture team. Look up his posts on this forum.
    I presume that the additional support will be part of the pending System update (10.4.9) that everybody's waiting for. Dare we hope for a release tonight? After all, it's Tuesday - and usually Apple Software updates happen on a Tuesday.
    Cheers,
    k.

  • Generic and Inheritance, how to use them together?

    Hi guys, I am trynig to design some components, and they will use both Generics and Inheritance.
    Basically I have a class
    public class GModel <C>{
        protected C data;
        public C getData(){return data;}
    }//And its subclass
    public class ABCModel <C> extends GModel{
    }//On my guess, when I do
    ABCModel abcModel = new ABCModel<MyObject>();The data attribute should be from MyObject type, is it right?
    So, usign the netbeans when I do
    MyObject obj = abcModel.getData();I should not use any casting, since the generics would tell that return object from getDta would be the MyObject.
    Is this right? If yes; did someone try to do that on netbeans?
    Thanks and Regards

    public class GModel <C>{
    public class ABCModel <C> extends GModel{public class ABCModel <C> extends GModel<C>{
    ABCModel abcModel = new ABCModel<MyObject>();ABCModel<MyObject> abcModel = new ABCModel<MyObject>();

  • STRUTS and UIX: How to use getCustomMethod in event handler

    I am having app module method exposed to a client as my custom method that does something. Then I have a data page (UIX) with a submit button that triggers event handler:
    public void onMyEvent(DataActionContext ctx) {
        HttpServletRequest request = ctx.getHttpServletRequest();
        HttpSession session = request.getSession();
        JUCtrlActionBinding method = ctx.getCustomMethod();
        if (method == null) System.out.println("method is null!!!!!!!!!!!");for some reason my method handle is null WHY???
    this seems to work when I call my method from findForward() though.

    If you use ADF BC, you can override the method create(AttributeList) in the Entity Object implementation class (EmployeesImpl.java).
    Use: Menu --> Tools --> Override Methods --> create
    In the overridden create method you can assign the next value from a DB sequence (e.g. EMP_SEQ) to the ID attribute:
    protected void create(AttributeList nameValuePair) {
    // Super
    super.create(nameValuePair);
    // Id
    SequenceImpl s = new SequenceImpl("EMP_SEQ", getDBTransaction());
    setEmployeeId(s.getSequenceNumber());
    }

  • I had no idea my iPhone and iPad were connected and I deleted "notes" I had on phone they also were removed from iPad. Can these notes be retrieved? After this mess I will go downtown to apple store and learn how to use these devices.

    I had no idea my iPhone and iPad were so connected. I deleted notes from iPhone as I had them on iPad.  Well was I surprised to see they were gone from iPad also. Can these be retrieved?

    Because it says it's incompatible when it can't be, I got hope. I get error messages all the time with my iPod and iPhone that it cannot sync and that 'this device is not capapble of connecting to iTunes' stuff. I literally forget that happened, plug it in again and it works, I later realize that iTunes made a mistake, they do that.

  • Get Windows 10 set up quickly and learn how to use it with Geek Squad

    Windows 10 has just been released and many people are saying this is the most important offering from Microsoft in many years. It is packed with amazing new features. Geek Squad has a range of services related to helping you get started with Windows 10, quickly and hassle free.

    All you need is wireless. If the DSL modem does not provide routing services or does not provide wireless, then you need to get a wireless/wired router. If the modem provides wireless, then that's all you need. Consult the user manual for the DSL modem or talk to your service provider.

  • CF11 Actionscript 3 - I'm migratiing from AS2 and can't use REMOTING, so how to use cfc's and process their results?

    The CF11 integration notes describe how to do use Flash Remoting. I use that in my AS2 code and it works fine. I'm trying to migrate to AS3 where there is no Remoting. I have done the following:
    import flash.net.*;
    import flash.events.*;
    var CFCService = new NetConnection()
    CFCService.objectEncoding = 0;
    CFCService.connect("http://localhost:8500/flashservices/gateway/")
    var responder2 = new Responder(getActiveUsers_Result, onFault);
    CFCService.call("cfc.SyslockComponents.getActiveUsers", responder2);
    stop();
    function getActiveUsers_Result(result:Object):void
        trace("getActiveUsers Result Status: " + result.STATUS);
        for (var property:String in result)
            trace(property +" : " +result[property]);
    The OUTPUT of my program shows the contents of the STRUCT returned by the CFC:
    getActiveUsers Result Status: ALLOK  <<<<<< the CFC completed successfully
    RECCOUNT : 1  <<<<<<<< There was one record select by query
    DETAILS : [object Object]  /<<<<<< this contains the query results
    STATUS : ALLOK
    I don't know how to process DETAILS because RECORDSET is not available in AS3.

    S/he's only offering six Dukes here:
    http://forum.java.sun.com/thread.jsp?forum=54&thread=469450&start=0&range=15#2169975
    This problem has been done before. Break this down into something simpler. You don't need an applet. Just do it on the command line. You don't need a database. Just create a flat file if you need some persistent data. Do the simple thing first, then build out from there.
    Click on the special tokens link up above and learn how to use [ code][ code] tags.
    Your code is a big, unreadable mess. You've got pare this down into something sensible. If you can't understand it, it's unreasonable to expect someone on this forum to wade through all of that. - MOD

  • How is the db connection used... and how to use the queries

    dear sir,
    i have to important question.
    i am pasting the code of a jsp file below.... please look in to this...
    in this page.. how is he making a database connection... and in this page
    where are the select statements and queries.... i have tried many times reading
    this ..but i could not find the queries ..not even any one.
    if anyone sees this jsp file also ... he will not be able to see the queries.
    can u please help me .. how to do this type of connection and also how to use queries
    like select insert and delete and update .
    an example will help me out...please help me...
    Ramesh
    the file is below....
    <%@ include file="jtfincl.jsp" %>
    <%@ page language="java" %>
    <%@ page import="oracle.apps.ibu.common.IBUContext" %>
    <%@ page import="oracle.apps.ibu.common.IbuException" %>
    <%@ page import="oracle.apps.ibu.common.Employee" %>
    <%@ page import="oracle.apps.ibu.common.EmployeeInfo" %>
    <%@ page import="oracle.jdbc.driver.*" %>
    <%@ page import="oracle.apps.jtf.aom.transaction.*" %>
    <%@ page import="oracle.apps.jtf.base.resources.*" %>
    <%@ page import="oracle.apps.jtf.base.interfaces.MessageManagerInter"%>
    <%@ page import="oracle.apps.ibu.registration.IbuRegistration" %>
    <%@ page import="oracle.apps.ibu.registration.CustomerVO" %>
    <%@ page import="oracle.apps.ibu.common.IDNamePair" %>
    <%@ page import="oracle.apps.ibu.common.*" %>
    <%@ page import="oracle.apps.ibu.registration.*" %>
    <%@ page import="java.math.BigDecimal" %>
    <jsp:useBean id = "_displayManager"
    class = "oracle.apps.ibu.common.DisplayManager"
    scope = "application" />
    <jsp:useBean id = "ibuPromptManager"
    class = "oracle.apps.ibu.common.PromptManager"
    scope = "application" />
    <%
    String appName= "IBU";
    boolean stateless=true;      // used for jtfsrfp.jsp
    SiteProperty.load();
    String username = SiteProperty.getGuestUsername();
    String password = SiteProperty.getGuestPassword();
    %>
    <%@ include file="jtfsrfp.jsp" %>
    <%
         String forwardURL = null;
         String backURL = null;
    String emailAddress = null;     
         long employeeID = -1;
         String submitType = (String) request.getParameter("submitType");
         IBUContext context = new IBUContext(fwSession);
         String errorKey = "";
         String errorMessage = "";
         String errorStack = "";
         boolean currentStatus = true;
    Object lockx = new Object ();
         OracleConnection conn = null;
    try
         TransactionScope.begin(lockx);
    try
    conn = (OracleConnection)
    TransactionScope.getConnection();
         catch ( Exception e )
    throw new FrameworkException("Error getting connection..");
    if ( conn == null )
    throw new FrameworkException("Error getting connection..");
         String[] textMsgs = new String[3];
         MessageManagerInter msgMgr = Architecture.getMessageManagerInstance();
         textMsgs[0] = msgMgr.getMessage("IBU_RG_CONTRACT24");
         //textMsgs[0] = " is not a valid employee email address.";
         textMsgs[1] = msgMgr.getMessage("IBU_RG_CONTRACT25");
         //textMsgs[1] = " Cannot get the employee id.";
         textMsgs[2] = msgMgr.getMessage("IBU_RG_CONTRACT13");
         //textMsgs[2] = "submitType is null, please check program.";
         if ( (submitType != null) && "LOGIN".equals( submitType ) )
         forwardURL="jtflogin.jsp";
         backURL="jtflogin.jsp";
         else if ( (submitType != null) && "EMPLOYEE_CHECK".equals( submitType ) )
         forwardURL="ibuemplcheck.jsp";
         backURL="ibuemplcheck.jsp";
         else if ( (submitType != null) && "EMPLOYEE_NUMBER_SUBMIT".equals( submitType ) )
         backURL="ibuemplcheck.jsp";
    emailAddress = (String) request.getParameter("emailAddress");     
         pageContext.setAttribute("emailAddress", emailAddress , PageContext.REQUEST_SCOPE);
         employeeID = IbuRegistration.getEmployeeID(conn,emailAddress);
         if (employeeID == -1)
              throw new IbuRegException(emailAddress + "  "+textMsgs[0] + "  " +textMsgs[1]);
         //validate employee
    currentStatus = Employee.isValidate(conn,emailAddress);
    //currentStatus = IbuRegistration.isEmployeeValid(conn,emailAddress);
         if (!currentStatus)
              throw new IbuRegException(emailAddress + "  " + textMsgs[0]);
         EmployeeInfo employee = Employee.findEmployee(conn,employeeID);
         pageContext.setAttribute("employee", employee , PageContext.REQUEST_SCOPE);
         pageContext.setAttribute("employeeIDStr", Long.toString(employeeID) , PageContext.REQUEST_SCOPE);
         forwardURL="ibuemplinput.jsp";
         else
         { // Cancel button was pressed
         throw new IbuRegException(textMsgs[2]);
         /* "ibuccsii.jsp"; */
         catch ( IbuException e )
    TransactionScope.setRollbackOnly();
         errorMessage = e.getMessage();      
         errorStack = IbuRegException.getStack(e);
         pageContext.setAttribute("errorMessage", errorMessage , PageContext.REQUEST_SCOPE);
         pageContext.setAttribute("errorStack", errorStack , PageContext.REQUEST_SCOPE);
         forwardURL = backURL;
         catch (IbuRegException e)
    TransactionScope.setRollbackOnly();
         errorMessage = e.getMessage();      
         errorStack = e.getStack();
         pageContext.setAttribute("errorMessage", errorMessage , PageContext.REQUEST_SCOPE);
         pageContext.setAttribute("errorStack", errorStack , PageContext.REQUEST_SCOPE);
         forwardURL = backURL;
         catch ( Exception e )
    TransactionScope.setRollbackOnly();
         errorMessage = e.getMessage();      
         errorStack = IbuRegException.getStack(e);
         pageContext.setAttribute("errorMessage", errorMessage , PageContext.REQUEST_SCOPE);
         pageContext.setAttribute("errorStack", errorStack , PageContext.REQUEST_SCOPE);
         forwardURL = backURL;
    //throw new FrameworkException( e , "IBU_UNEXPECTED_EXCEPTION");
         finally
    TransactionScope.releaseConnection( conn );
    TransactionScope.end ( lockx );
         if (forwardURL == null)
         forwardURL="jtflogin.jsp";
    %>
         <jsp:forward page= "<%= forwardURL %>" />
    <%@ include file="jtferlp.jsp" %>

    dear sir,
    i have to important question.
    i am pasting the code of a jsp file below.... please look in to this...Note that this is an OCI forum. Since your code is using Oracle's JDBC driver to connect, I would suggest posting in the JDBC forum for more information.
    in this page.. how is he making a database connection...
    try
    conn = (OracleConnection)
    TransactionScope.getConnection();
         catch ( Exception e )
    throw new FrameworkException("Error getting connection..");
    and in this page
    where are the select statements and queries.... There may be queries in the Employee objects or in the include files.
    Justin

  • How to use two different versions of Firefox at the same time on Snow Leopard?

    I recently upgraded to Firefox 4.0 on my 27" iMac running Snow Leopard 10.6.7.
    Previously, I was using Google's "Page Speed" along with Firebug in Firefox 3.6.15 to optimize images in my web pages, and to find other areas to optimize.
    Page Speed is not yet compatible with Firefox 4.0. I wrote to Google about this some time ago -- no answer yet.
    If I run Firefox 3.6.15 in order to use Page Speed, I run into a few problems afterward when I start using Firefox 4.0 again, since they both use the same "Firefox" folder in my "Application Support" folder.
    How can I set it up so that I can have two separate "Firefox" folders in my "Application Support" folder?
    Or is there an easier way to use two different versions of Firefox simultaneously, even if one has extensions and/or plug-ins installed which are not compatible with the other version?
    Thanks for a great browser!

    Please disregard my question. I just conducted more web search and learned how to use Firefox's profile manager in order to make a separate profile for Firefox 3.6.15.
    You can find instructions on this page:
    http://support.mozilla.com/en-US/kb/Managing%20profiles#os=mac&browser=fx35
    '''A small tip:'''
    If your Firefox app is named anything other than "Firefox" -- say for example "Firefox 3.6.15" -- when you follow the instructions at the above link, make sure you escape the blank space that is before the version number by adding a backward slash before it, when you type the command string in the Terminal. In other words, in that string, you should use this:
    Firefox\ 3.6.15
    I hope that helps someone.
    WW

  • How to use smart view plugin in firefox 2.0

    Can anyone help me in installing and then how to use it in Firefox 2.0

    Hi,
    I am not sure about a plugin I always thought that smartview was for Microsoft Office and is accessed through Excel, Word, Powerpoint.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Will you tell me how to use BAPI "L_TO_CREATE_POSTING_CHANGE",please?

    Will you tell me how to use BAPI "L_TO_CREATE_POSTING_CHANGE" ,please?
    Is lt06 bapi "L_TO_CREATE_POSTING_CHANGE"&#65311;

    just do a where used list of the FM and see how its used in those programs.
    one of the programs where it is used = RLLQ0200
    Regards
    Raja

Maybe you are looking for