Histograms of oriented gradients implementation

Hello,
I wonder if I can implement HOG with labview and vision assistant or vision builder ?
If yes, can anyone guide me ?( what are the steps to follow etc..)
I need that because I am trying to build a human recognition VI
THANK YOU

Hello,
there are quite a few papers regarding the HOG human detection.
I have only used HOG in Matlab some time ago, but for business card classification and not human classification.
I can suggest the following:
1. take a look at this post:
http://forums.ni.com/t5/LabVIEW/Histogram-of-Oriented-Gradients-HoG-weighted-histograms/td-p/1973807
They claim that they successfully implemented HOG algorithm.
2. use OpenCV since they have HOG already implemented for human detection. Find some example code and modify it and use it as a dll in labview.
http://docs.opencv.org/modules/gpu/doc/object_detection.html
Best regards,
K
https://decibel.ni.com/content/blogs/kl3m3n
"Kudos: Users may give one another Kudos on the forums for posts that they found particularly helpful or insightful."

Similar Messages

  • Histogram PtByPt is very slow

    I don't know why the General Histogram PtByPt.vi is so slow.  Using an uninitialized shift register and the General Histogram.vi I can implement the same functionality that runs at least 50 times faster processing the same number of points.  See my attached vi.  I wonder why the developers of the PtByPt vi didn't just use this technique.
    Attachments:
    running_histogram.01.vi ‏10 KB

    Hi ESD,
    What VIs are you using to benchmark the code?
    There are some differences in how both VIs are implemented.  For example, the Pt by Pt VI calls SubVIs, which will incur some overhead.  I am unsure why a different implementation is used.
    This is probably a good point to mention the NI Idea Exchange (http://www.ni.com/ideas) and the Product Suggestion Center (http://digital.ni.com/applications/psc.nsf/default?openform) to suggest reimplementing the VI. 

  • HTTP error code 500 when acessing webservice

    Hi Guys,
    We are trying to access a webservice through HTTPS. It's a document-oriented webservice implemented using weblogic. Both WSDL and service are accessible from the browser.
    Can somebody please, invest sometime on this? We would be grateful for all the effort you spend on this.
    Exception on client-side:
    java.io.IOException: Server returned HTTP response code: 500 for URL: https://avisheko:7002/handler_log/EchoString?WSDL
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unkn
    own Source)
    at examples.webservices.ssl2way.SSLCFASAAJclient.main(SSLCFASAAJclient.j
    ava:151)
    We get some strange information on the server side:
    Got a Web Service Request at URL: '/handler_log/EchoString' for web service 'null'
    Got a Web Service Request at URL: '/EchoString' for web service 'LogHandler'
    Client-code:
    KeyStore ks = KeyStore.getInstance(KEYSTORE_TYPE);
    ks.load(new FileInputStream("E:/test/keytool/2/cfakeystore"), "cfakeystorepass".toCharArray());
    KeyStore ts = KeyStore.getInstance(KEYSTORE_TYPE);
    ts.load(new FileInputStream("E:/test/keytool/2/cfatruststore"), "cfatruststorepass".toCharArray());
    KeyManagerFactory kmf = KeyManagerFactory.getInstance(SECURE_ALGORITHM);
    kmf.init(ks, "cfakeystorepass".toCharArray());
    KeyManager[] km = kmf.getKeyManagers();
    TrustManagerFactory tmf = TrustManagerFactory.getInstance(SECURE_ALGORITHM);
    tmf.init(ts);
    TrustManager[] tm = tmf.getTrustManagers();
    SSLContext sslCtx = SSLContext.getInstance(SECURE_PROTOCOL);
    sslCtx.init(km, tm, null);
    System.setProperty("weblogic.webservice.verbose", "true");
    URL endpoint= new URL("https://avisheko:7002/handler_log/EchoString?WSDL");
    javax.net.ssl.HttpsURLConnection con = (javax.net.ssl.HttpsURLConnection)endpoint.openConnection();
    con.setSSLSocketFactory(sslCtx.getSocketFactory());
    com.sun.net.ssl.HostnameVerifier hv=new com.sun.net.ssl.HostnameVerifier()
         public boolean verify(String urlHostname, String certHostname)
              System.out.println("WARNING: Hostname is not matched for cert.");
              return true;
    com.sun.net.ssl.HttpsURLConnection.setDefaultHostnameVerifier(hv);
    con.setDoOutput(true);
    con.setDoInput(true);
    con.setRequestMethod("POST");
    con.setRequestProperty("Connection", "Keep-Alive");
    con.setRequestProperty("Content-Type", "text/xml;charset=utf-8");
    con.setRequestProperty("SOAPAction", "");
    File f1 = new File("Soap6.xml");
    BufferedReader inFile = new BufferedReader(new InputStreamReader(new FileInputStream(f1)));
    StringBuffer sb = new StringBuffer();
    String temp = null;
    while((temp = inFile.readLine()) != null && !(temp.startsWith("0000")))
         sb.append(temp);
    PrintWriter out = new PrintWriter(con.getOutputStream());
    BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
    out.write(sb.toString());
    out.flush();
    String answer = in.readLine();
    System.out.println(answer);
    out.close();
    in.close();
    WSDL:
    <?xml version="1.0" encoding="UTF-8" ?>
    <definitions xmlns:tns="http://www.wisor.com/loguser" xmlns:wsr="http://www.openuri.org/2002/10/soap/reliability/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap12enc="http://www.w3.org/2003/05/soap-encoding" xmlns:conv="http://www.openuri.org/2002/04/wsdl/conversation/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.wisor.com/loguser">
    <types>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:stns="http://www.wisor.com/loguser" elementFormDefault="unqualified" attributeFormDefault="unqualified" targetNamespace="http://www.wisor.com/loguser">
    <xsd:element type="xsd:string" name="echoString" nillable="true" />
    <xsd:element type="xsd:string" name="echoStringResponse" nillable="true" />
    </xsd:schema>
    </types>
    <message name="echoString">
    <part xmlns:partns="http://www.wisor.com/loguser" name="echoStringRequest" element="partns:echoString" />
    </message>
    <message name="echoStringResponse">
    <part xmlns:partns="http://www.wisor.com/loguser" name="echoStringResult" element="partns:echoStringResponse" />
    </message>
    <portType name="LogHandlerPort">
    <operation name="echoString">
    <input message="tns:echoString" />
    <output message="tns:echoStringResponse" />
    </operation>
    </portType>
    <binding type="tns:LogHandlerPort" name="LogHandlerPort">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    <operation name="echoString">
    <soap:operation style="document" soapAction="" />
    <wsr:reliability persistDuration="60000" />
    <input>
    <soap:body namespace="http://www.wisor.com/loguser" use="literal" />
    </input>
    <output>
    <soap:body namespace="http://www.wisor.com/loguser" use="literal" />
    </output>
    </operation>
    </binding>
    <service name="LogHandler">
    <port name="LogHandlerPort" binding="tns:LogHandlerPort">
    <soap:address location="https://avisheko:7002/handler_log/EchoString" />
    </port>
    </service>
    </definitions>

    Check for a problem with Windows update KB902400.
    Once this update was uninstalled, ActiveSync now works. No
    problems with it recognizing my firewall or virus protection
    either.
    HTH
    "Hoggies_Oz2" <[email protected]> wrote in
    message
    news:g5a105$ifc$[email protected]..
    > Hi,
    >
    > I'm a new user of Dreamweaver having been appointed
    webmaster of a local
    > club.
    > Have been working my way through the
    'dw_getting_started' manual (which is
    > generally excellent - thanks). Have installed IIS, PHP
    and MySQL on my XP
    > PRO
    > SP3 PC - all OK so far and installed exactly as per the
    recommendations in
    > the
    > dw_getting_started manual. But when I try to do the test
    database
    > connection
    > (page 136) I get HTTP Error 500 Internal Server Error.
    When I examine the
    > event viewer I can see the error which is Event ID: 1802
    ' The Windows
    > Security
    > Center Service was unable to establish event queries
    with WMI to monitor
    > third
    > party AntiVirus and Firewall'. Have spent many hours
    scouring the 'net as
    > well
    > as with McAfee. At one stage I completely uninstalled
    McAfee using their
    > clean
    > out program but the error still occurred with McAfee
    totally removed from
    > my PC.
    >
    > Any help will be appreciated.
    >
    > Thanks, Hoggies_Oz2
    >

  • Need deeper info about RPC paradigm

    Having scoured the Web for info about RPC, I find the same few discussions repeated widely, but certain things left unexplored. I therefore have particular questions that remain unanswered.
    1) RPC server behavior appears predicated around "connect-call-disconnect, connect-call-disconnect, ..." behavior on the part of the RPC client; that is, a connect-and-disconnect around every remote procedure call. I, on the other hand, need my clients to implement "connect-wait-call-wait-call-wait-call-...-disconnect" behavior; that is, to connect, REMAIN connected for an extended period of time across multiple procedure calls, and disconnect only when the client is ready to terminate all use of the server. It appears that svc_run() supports this, but I want to avoid surprises; is there any restriction on this usage of svc_run()? Can this paradigm be supported by appropriate use of the RPC library routines available for replacing svc_run() with my own code?
    2) The only "documentation" I have been able to find about how to write actual RPC programs dates back to 1992 and does not come from Sun. Virtually all of the routines appearing in its example programs are designated "obsolete" or "for backward compatibility" in their manpages on Solaris 8. Can you recommend/point to an instructional text that describes RPC programming as it would be done with "today's" interface?
    3) Probably the largest single obstacle to my organization's possible use of RPC in "real," critical applications, is RPC's continuing C-specificity. We write all our applications in C++, and mostly object-oriented C++ at that -- whereas RPC appears not to have advanced beyond the "C with global variables" architecture (with one possible exception, following). Code generated by RPCGEN (without the -C switch, I admit; I haven't gotten that far in my trial-and-error experiments, yet) requires extensive hand-editing in order to compile C++ code that uses it, or link successfully with compiled C++ code. This obstacle is severe enough to potentially render RPC an unacceptable solution for us.
    The possible exception I mentioned is that I found a webpage that discussed something called 'rpcc,' which appeared to be an object-oriented, C++ implementation of RPC. The page said this was available "on Sun machines," but I don't find it on MY Sun machines. Other searches do not turn up other references. Such a thing would be a godsend if it existed, and it would seem not to be so difficult for Sun's professional developers to create. So does it exist? If so, how can I get my hands on it?
    4) Different sources contradict each other as to the "semantics" of an RPC procedure call. Sun's ONC manual says flat-out that Sun RPC provides only "at least once" semantics -- but then, the manual takes the approach that one is using RPC in a "transport-independent" manner. Other references discuss the issue at greater length (hint, hint) and imply that any RPC implementation can provide "exactly once" semantics, providing that one specifically force it to use "a reliable transport such as TCP." It is not clear how much to infer, or disregard, in Sun's simple statement. I need to know FOR SURE whether Sun RPC can be made, forced, tricked, etc. into providing "exactly once" semantics. If so, is "use of TCP" sufficient? Or are other tricks needed? Please outline the necessary steps that might be needed in addition to using TCP.
    5) (Related to 4. Sun documentation contains language to the effect that Sun RPC provides "at least once" semantics because providing "exactly once" semantics "would be too difficult." However, a graduate student (at Syracuse U if I recall correctly) posts a research paper in which he describes an RPC facility, developed from scratch, that provides "exactly once" semantics. Apparently it's not THAT difficult, after all. The fact that it's "too difficult" for Sun does not exactly flatter the company. They may want to revisit this, and provide yet another RPC interface (in C++ while they're at it). I won't even charge a finder's fee. ;-) )
    Thanks in advance,
    Chris

    I agree fully.
    None of the example code applies to todays
    "real-world" applications. Im trying to implement
    multithreaded RPC on Solaris using rpcgen's -N
    "NewStyle", -A "Auto multithreaded" and -C "ANSI C"
    options but none of the examples anywhere show how to
    do this. Is their a better technology that everyone
    is using now that does a similar thing?I have an example that might help. It's a multi-threaded
    NIS server that's been running in production for several
    years. There are a few tricks in the source that might help.
    You can download the source with anonymous FTP at
    ftp.cc.umanitoba.ca. Look in the `src' directory for
    midas.tar.Z.

  • ABAP related Book

    Dear Sir,
    I am new to ABAP . I want to learn about ABAP Programming / USER-EXIT / BADI . I seek the help from SAP experts as which Book / Technical Literature can be used to learn the subject . The literature must be practical oriented with implementation / business example .
    Kindly help me on this please .
    Regards
    B Mittal

    hi,
    abap oops
    http://esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
    http://esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
    http://esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
    http://esnips.com/doc/92be4457-1b6e-4061-92e5-8e4b3a6e3239/Object-Oriented-ABAP.ppt
    http://esnips.com/doc/448e8302-68b1-4046-9fef-8fa8808caee0/abap-objects-by-helen.pdf
    http://esnips.com/doc/39fdc647-1aed-4b40-a476-4d3042b6ec28/class_builder.ppt
    abap online links
    http://www.esnips.com/web/SAPAbapCertificationDocs/
    http://www.esnips.com/web/SAPABAP
    http://www.esnips.com/web/saparun-ebooks
    http://www.esnips.com/doc/2a4c274b-b5b9-46b7-8ab5-5af47700a6c7/Command-List
    http://www.esnips.com/doc/6bdb820f-f533-4517-a043-b64641b00490/TABC43-Data-Transfer
    http://www.esnips.com/_t_/abap
    Hope this helps, Do reward.

  • How to create an Elliptical Gradient (e.g, implement PaintContext).

    Hi,
    I found an implementation of a circle gradient that works well.
    Search this page for RoundGradientPaint and RoundGradientContext:
    http://www.oreilly.com/catalog/java2d/chapter/ch04.html
    My question is this: How do I modify this code to draw an elliptical gradient instead only a circle gradient? I would really appreciate any help.
    Thanks!

    import java.awt.*;
    import java.awt.geom.*;
    import java.awt.image.*;
    import java.util.*;
    import javax.swing.*;
    import javax.swing.event.*;
    public class EllipticalGradient extends JPanel {
        Point2D.Double p = new Point2D.Double(175, 75);
        protected void paintComponent(Graphics g) {
            super.paintComponent(g);
            Graphics2D g2 = (Graphics2D)g;
            g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                                RenderingHints.VALUE_ANTIALIAS_ON);
            Rectangle r = getBounds();
            double cx = r.getCenterX();
            double cy = r.getCenterY();
            OvalGradientPaint ogp =
                    new OvalGradientPaint(cx, cy, Color.magenta, p, Color.blue);
            g2.setPaint(ogp);
            g2.fill(r);
        public static void main(String[] args) {
            EllipticalGradient eg = new EllipticalGradient();
            JFrame f = new JFrame();
            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            f.add(eg);
            f.add(eg.getControls(), "Last");
            f.setSize(400,400);
            f.setLocationRelativeTo(null);
            f.setVisible(true);
        private JPanel getControls() {
            final JSlider xSlider = new JSlider(10, 200, (int)p.x);
            final JSlider ySlider = new JSlider(10, 200, (int)p.y);
            ChangeListener l = new ChangeListener() {
                public void stateChanged(ChangeEvent e) {
                    JSlider slider = (JSlider)e.getSource();
                    double value = slider.getValue();
                    if(slider == xSlider)
                        p.x = value;
                    else if(slider == ySlider)
                        p.y = value;
                    repaint();
            xSlider.addChangeListener(l);
            ySlider.addChangeListener(l);
            JPanel panel = new JPanel(new GridBagLayout());
            GridBagConstraints gbc = new GridBagConstraints();
            gbc.insets = new Insets(2,2,2,2);
            gbc.fill = gbc.HORIZONTAL;
            addComponents(new JLabel("p.x"), xSlider, panel, gbc);
            addComponents(new JLabel("p.y"), ySlider, panel, gbc);
            return panel;
        private void addComponents(Component c1, Component c2, Container c,
                                   GridBagConstraints gbc) {
            gbc.weightx = 0;
            gbc.gridwidth = gbc.RELATIVE;
            c.add(c1, gbc);
            gbc.weightx = 1.0;
            gbc.gridwidth = gbc.REMAINDER;
            c.add(c2, gbc);
    class OvalGradientPaint implements Paint {
        protected Point2D mPoint;
        protected Point2D mRadius;
        protected Color mPointColor, mBackgroundColor;
        public OvalGradientPaint(double x, double y, Color pointColor,
                                 Point2D radius, Color backgroundColor) {
            if(radius.distance(0,0)<=0)
                throw new IllegalArgumentException("Radius must be greater than 0.");
            mPoint = new Point2D.Double(x,y);
            mPointColor = pointColor;
            mRadius = radius;
            mBackgroundColor = backgroundColor;
        public PaintContext createContext(ColorModel cm,
                                          Rectangle deviceBounds,
                                          Rectangle2D userBounds,
                                          AffineTransform xform,
                                          RenderingHints hints) {
            Point2D transformedPoint = xform.transform(mPoint,null);
            Point2D transformedRadius = xform.deltaTransform(mRadius,null);
            return new OvalGradientContext(transformedPoint,  mPointColor,
                                           transformedRadius, mBackgroundColor);
        public int getTransparency() {
            int a1 = mPointColor.getAlpha();
            int a2 = mBackgroundColor.getAlpha();
            return (((a1 & a2) == 0xff) ? OPAQUE : TRANSLUCENT);
    class OvalGradientContext implements PaintContext {
        protected Point2D mPoint;
        protected Point2D mRadius;
        protected Color mC1, mC2;
        Ellipse2D.Double ellipse;
        Line2D.Double line;
        Map<Double, Double> lookup;
        double R;
        public OvalGradientContext(Point2D p, Color c1, Point2D r, Color c2) {
            mPoint = p;
            mC1 = c1;
            mRadius = r;
            mC2 = c2;
            double x = p.getX() - mRadius.getX();
            double y = p.getY() - mRadius.getY();
            double w = 2*mRadius.getX();
            double h = 2*mRadius.getY();
            ellipse = new Ellipse2D.Double(x,y,w,h);
            line = new Line2D.Double();
            R = Point2D.distance(0, 0, r.getX(), r.getY());
            initLookup();
        public void dispose() { }
        public ColorModel getColorModel() {
            return ColorModel.getRGBdefault();
        public Raster getRaster(int x, int y, int w, int h) {
            WritableRaster raster = getColorModel().createCompatibleWritableRaster(w,h);
            int[] data = new int[w*h*4];
            for(int j = 0; j < h; j++) {
                for(int i = 0; i < w; i++) {
                    double distance = mPoint.distance(x+i,y+j);
                    double dy = y+j - mPoint.getY();
                    double dx = x+i - mPoint.getX();
                    double theta = Math.atan2(dy, dx);
                    double xp = mPoint.getX() + R * Math.cos(theta);
                    double yp = mPoint.getY() + R * Math.sin(theta);
                    line.setLine(mPoint.getX(), mPoint.getY(), xp, yp);
                    double roundDegrees = Math.round(Math.toDegrees(theta));
                    double radius = lookup.get(Double.valueOf(roundDegrees));
                    double ratio = distance / radius;
                    if(ratio > 1.0)
                        ratio = 1.0;
                    int base = (j * w + i) * 4;
                    data[base + 0] = (int)(mC1.getRed() +
                                  ratio * (mC2.getRed() - mC1.getRed()));
                    data[base + 1] = (int)(mC1.getGreen() +
                                  ratio * (mC2.getGreen() - mC1.getGreen()));
                    data[base + 2] = (int)(mC1.getBlue() +
                                  ratio * (mC2.getBlue() - mC1.getBlue()));
                    data[base + 3] = (int)(mC1.getAlpha() +
                                  ratio * (mC2.getAlpha() - mC1.getAlpha()));
            raster.setPixels(0,0,w,h,data);
            return raster;
        private double getRadius() {
            double[] coords = new double[6];
            Point2D.Double p = new Point2D.Double();
            double minDistance = Double.MAX_VALUE;
            double flatness = 0.005;
            PathIterator pit = ellipse.getPathIterator(null, flatness);
            while(!pit.isDone()) {
                int segment = pit.currentSegment(coords);
                switch(segment) {
                    case PathIterator.SEG_CLOSE:
                    case PathIterator.SEG_MOVETO:
                    case PathIterator.SEG_LINETO:
                        break;
                    default:
                        System.out.printf("unexpected segment: %d%n", segment);
                double distance = line.ptSegDist(coords[0], coords[1]);
                if(distance < minDistance) {
                    minDistance = distance;
                    p.x = coords[0];
                    p.y = coords[1];
                pit.next();
            return mPoint.distance(p);
        private void initLookup() {
            lookup = new HashMap<Double, Double>();
            for(int j = -180; j <= 180; j++) {
                Double key = Double.valueOf(j);
                double theta = Math.toRadians(j);
                double xp = mPoint.getX() + R * Math.cos(theta);
                double yp = mPoint.getY() + R * Math.sin(theta);
                line.setLine(mPoint.getX(), mPoint.getY(), xp, yp);
                Double value = Double.valueOf(getRadius());
                lookup.put(key, value);
            double theta = -0.0;  // avoids NullPointerException
            Double key = Double.valueOf(theta);
            double xp = mPoint.getX() + R * Math.cos(theta);
            double yp = mPoint.getY() + R * Math.sin(theta);
            line.setLine(mPoint.getX(), mPoint.getY(), xp, yp);
            Double value = Double.valueOf(getRadius());
            lookup.put(key, value);
    }

  • Need help with Gradient Orientation being locked.

    I'm having a problem with my gradients not rotating with the object its applied to. Lets say I have a square that blends from red to blue left to right, as i rotate the box the gradient is locked in one position as the box changes angles. I need the gradient to also rotate with the box. What is causing this. It happens off and on and can not pinpoint why or how to fix it.

    I've only had this happen, when using the live gradient annotator tool and the panel still being active after that. Seems like AI then misinterprets things and assumes the user is still aligning the gradient. Usually it is enough to just pick another tool...
    Mylenium

  • Image box with opacity gradients, and other parallax scrolling inhancements

    First i want to say great job Muse Team, this is starting to get really interesting:
    I've been playing around with parallax scrolling over gradients for effect,   but i'm dreaming about fading in full screen fields of texture.   without the weight of massive .png
    1)      I would love to see the Background Image folder persist in the rectangle Fill > Gradient menu, with the options to tile etc.
    2)     This feature along with speed and rotation controls for anchor finding, would really crack this thing wide open for me.    
    could be implemented with 2 lines coming off anchors:
    one line straight down that can be rotated like a hand on a clock, to set the landing orientation.
    and the second a diagonal line (thinking photoshop curves), to set the approach speed.
    Maybe holding shift with the hand tool could rotate the design page, though i have no idea what rotation would do to the exhisting scrolling menu, i guess ill leave implementation to you!  
    3)     One last tweak, the option to remove scroll bars entirely from the page properties menu would be nice, but intil then i found this bit of code for the bleeding edge:
    Insert as HTML to hide the horizontal scrollbar:
    <style>
    html,body{
    overflow-x:hidden;
    </style>
    thanks for your time

    Be sure your images are stacked properly in the order you need them in your Layers panel.
    If that doesn't solve your problem please provide a link or screenshots so we can see your problem.

  • Remove gradient banding

    Hi
    I'm using Photoshop CC and I am currently trying to remove some background gradient banding seen in some corporate style photographs I've taken recently. I've basically added a gradient circle of light to the black background.
    When viewed on computer the gradient works perfectly - but, when viewed on a mobile phone (which these would most likely be viewed on - on apps such as linkedin etc), the banding seems to be very apparent.
    I've tried various techniques such as creating a dithering layer while working in 16bit: following this guide (Photoshop Actions to fix the banding of Photoshop's gradients.):
    Create a new layer (should be topmost).
    Fill it with solid 50% gray.
    Make some noise: Filter > Noise > Add Noise. The settings are Amount = 25%; Distribution = Uniform; Monochromatic = checked.
    Now hit Command+F (Ctrl+F on Windows) to repeat the noise filter on the same layer (if you're curious why, watch the layer's histogram as you perform the noise filter the first and second time).
    Set the layer to Linear Light. A great blending mode for this purpose. The darker half of the shades is implemented as inversed linear subtraction (like Linear Burn), and the lighter half as linear addition (like Linear Dodge).
    In the Layers palette, set the magic values for the layer Opacity to 1% and the Fill opacity to 19%. You could (but don't, really) read the small note below about all the gory details*.
    We're done. Now lock the layer (the padlock icon in the Layers palette) so it won't react to mouse input. You can forget it exists.
    I've also added noise to the gradient layer to see if that seems to help - but it doesn't really.
    I'd then merge all working layers together, resize to 960 x 640, convert to 8bit and save.
    Any advice would be greatly appreciated.
    Pictures below:
    Computer Image:
    Thanks,
    Stephen.

    Without being able to test various approaches to solving the problem before posting one here, all that is available is to work with images you posted.  In both the original and in the second image (which has increased contrast that makes the banding more apparent), making a loose lasso selection of the offending area and applying a Gaussian blur eliminated the banding. Not fancy, but it worked as a final step. Perhaps it is worth a try.

  • Implementação NF-e 3.10 em SAP ECC 6.0 SP21

    Precisamos de uma orientação referente a implementação da NF-e 3.10 com a versão SAPKH60021 do SAP, no sentido de obter qual a melhor opção, aplicação de request para a criação das funções inexistentes, ou a aplicação de um distinto support package.
    Temos muitos componentes que não existem no ambiente, como por exemplo, o Grupo de Funções J_1B_DFE, e não encontramos de onde partir.
    Muito obrigado,
    Itamar Garcia

    Itamar,
    A principal nota do layout 3.10 (1933985), no seu release, está no Support Package 26.
    Se você está no support package 21 a quantidade de notas pendentes
    poderão ser em uma quantidade alta.
    A SAP recomenda por Support Package
    principalmente quando a quantidade de notas é bastante.
    Se for uma quantidade razoável de notas,
    pode aplicar as mesmas antes de um support package.
    Exemplo, um dos ambientes que fizemos a aplicação a diferença era somente de 1 support package.
    Foram 15 notas pontuais o que permitiram a aplicação de cada uma delas sem precisar alterar o SP.
    Portanto com uma análise do seu ambiente dos pré-requisitos da nota 1933985,
    e as demais notas lançadas após esta, vocês podem chegar a conclusão de
    qual o mínimo do support package para instalar e
    depois aplicar as notas manualmente.

  • How can i plot a histogram with using the results of Line Length

    PLS HELP.How can i prepare a histogram with using the results of line length code(It is somewhere in the middle).
    This is a final exam take-home question. I would appreciate if you can help?
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import javax.swing.*;
    import java.text.*;
    import java.io.File;
    public class WordAnalyser extends JFrame implements ActionListener
    private JMenuItem jmiAc, jmiSil, jmiCikis, jmiAnaliz, jmiHakkinda, jmiKullanim;
    private JTextArea jta1, jta2;
    private JFileChooser jFileChooser = new JFileChooser();
    File hafizada;
    File aktarilan = new File("Sonuc.txt");
    // Main method
    public static void main(String[] args)
    WordAnalyser frame = new WordAnalyser(); /* Ana ekran olusturulur */
    frame.setSize(400, 300); /* Degerleri belirlenir */
    frame.setVisible(true); /* Gorunebilirligi ayarlanir */
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    public WordAnalyser()
    setTitle("Serkan Ozgen Dosya Inceleme Programina Hos Geldiniz");
    JMenuBar mb = new JMenuBar();
    setJMenuBar(mb);
    JMenu fileMenu = new JMenu("Dosya");
    fileMenu.setMnemonic('F');
    mb.add(fileMenu);
    JMenu helpMenu = new JMenu("Degerlendirme");
    helpMenu.setMnemonic('H');
    mb.add(helpMenu);
    JMenu kullanimMenu = new JMenu("Kullanim Kilavuzu");
    mb.add(kullanimMenu);     
    fileMenu.add(jmiAc = new JMenuItem("Ac", 'A'));
    fileMenu.add(jmiSil = new JMenuItem("Sil", 'S'));
    fileMenu.add(jmiCikis = new JMenuItem("Cikis", 'C'));
    helpMenu.add(jmiAnaliz = new JMenuItem("Analiz", 'D'));
    helpMenu.add(jmiHakkinda = new JMenuItem("Hakkinda", 'H'));
    kullanimMenu.add(jmiKullanim = new JMenuItem("Kullanim"));     
    getContentPane().add(new JScrollPane(jta1 = new JTextArea()), BorderLayout.CENTER);
    getContentPane().add(jta2 = new JTextArea(), BorderLayout.SOUTH);
    jmiAc.addActionListener(this);
    jmiSil.addActionListener(this);
    jmiCikis.addActionListener(this);
    jmiAnaliz.addActionListener(this);
    jmiHakkinda.addActionListener(this);
    jmiKullanim.addActionListener(this);
    public void actionPerformed(ActionEvent e)
    String actionCommand = e.getActionCommand();
    if (e.getSource() instanceof JMenuItem)
    if ("Ac".equals(actionCommand))
    Ac();
    else if ("Sil".equals(actionCommand))
    Sil();
    else if ("Cikis".equals(actionCommand))
    System.exit(0);
    else if ("Analiz".equals(actionCommand))
    sayim();
    else if ("Hakkinda".equals(actionCommand))
    JOptionPane.showMessageDialog(this,
    "!!!! Bu program text analizi gerceklestirir. Her hakki saklidir SERKAN OZGEN!!!!",
    "Bu program hakkinda",
    JOptionPane.INFORMATION_MESSAGE);
    else if ("Kullanim".equals(actionCommand))
         JOptionPane.showMessageDialog(this,
         " Ilk once dosya menusunden Ac i tiklayarak analiz etmek istediginiz Dosyayi seciniz (Lutfen uzantisi *.txt \nveya *.log olsun). Daha sonra Degerlendirme menusunden analizi tiklarsaniz dosyanizda kac adet rakam, harf, \ncumle ve kelime oldugunu gorebilirsiniz. Simdiden kolay gelsin",
         "Programin kullanim detaylari",
         JOptionPane.INFORMATION_MESSAGE);
    private void Ac()
    if (jFileChooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION)
    hafizada = jFileChooser.getSelectedFile();
    Ac(hafizada);
    // Acilan Dosyayi ana ekranda gostermeye yariyan bir method
    private void Ac(File file)
    try
    // Acilan dosyayi okuma ve ana ekranda gosterme
    BufferedInputStream in = new BufferedInputStream(new FileInputStream(file));
    byte[] b = new byte[in.available()];
    in.read(b, 0, b.length);
    jta1.append(new String(b, 0, b.length));
    in.close();
    catch (IOException ex)
    // Temizle tusunun hangi ekranlara etki edecegini secme
    private void Sil()
    jta1.setText("");
    jta2.setText("");
    private void sayim()
    int buff;
    int sayac = 0;
    int Cumleler = 0;
    int Kelimeler = 0;
    int Karakterler = 0;
    int Satirlar = 0;
    int Rakamlar = 0;     
    boolean start = true;
    int linenum = 0;     
    try
    FileInputStream instream = new FileInputStream(hafizada);
    FileOutputStream outstream = new FileOutputStream(aktarilan);
         BufferedReader infile = new BufferedReader(new InputStreamReader(new FileInputStream(hafizada)));
    PrintStream out = new PrintStream(outstream);
         out.println("---Kelime Avcisinin Sonuclari---");
         String line = infile.readLine();
         while (line != null){
         int len = line.length();
         linenum++;
         line = infile.readLine();
         out.println("Line Length :"     + linenum + "\t" +len);
    while ((buff=instream.read()) != -1)
    switch((char)buff)
    case '?': case '.': case '!': /* Eger "?", "." veya "!" gorurse program cumleleri ve kelimeleri arttirir*/
    if (start == false)
    Cumleler++;
    Kelimeler++;
    start = true;
    break;
    case ' ': case '\t': case ',': case ';': case ':': case'\"': case'\'': /* Eger /t,;:\ ve \" bu isarteleri goruruse program kelimeleri arttirir */
    if (start == false)
    Kelimeler++;
    start = true;
    break;
              case 'n': case '\n': /* Eger \n gorurse satirlari arttirir */
              if (start == false)
                   Satirlar++;
                   Kelimeler++;
                   start = true;
              break;
    default:
    if (((char)buff >= 'a' && (char)buff<='z')|| /*a-z, A-Z veya - degerlerini gorurse karakterler arttirilir */
    ((char)buff >= 'A' && (char)buff<='Z')||
    ((char)buff == '-'))
    Karakterler++;
    if ((Kelimeler % 50) == 49)
    if (start == true)
                   out.println();     
    out.print((Kelimeler+1) + " ");
    out.print((char)buff);
    start = false;
              if ((char)buff >='0' && (char)buff <='9') {  /* 0-9 gorurse rakamlari arttiri */
                   Rakamlar++; }
    }// switch
         }//while
    instream.close();
    out.println();
    out.println();
    out.println("Karakter sayisi: " + Karakterler);
         out.println("Kelime sayisi: " + Kelimeler);
    out.println("Cumle sayisi: " + Cumleler);
         out.println("Satir sayisi: "+ Satirlar);
         out.println("Rakam sayisi: "+ Rakamlar);
    outstream.close();
    try
    BufferedInputStream in = new BufferedInputStream(new FileInputStream(aktarilan));
    byte[] b = new byte[in.available()];
    in.read(b, 0, b.length);
    jta2.append(new String(b, 0, b.length));
    in.close();
    catch (IOException ex)
    catch (Exception e)
    System.out.println(e);
    }

    Why is it that you're not interested in IOExceptions?
    catch (IOException ex)
    } Empty catch blocks is a hallmark of foolish Java code. At least print out the stack trace.
    %

  • How to make a good gradient?

    What am I not understanding here? I want my gradient to look like this:
    I adjust the gradient controls (left) to something close to this, but the rectangle (right) looks noting like it:
    How do I get a smooth, wide gradient insted of a narrow band like above? What am I missing?

    You're seeing the default application of the shape gradient fill -- which is approximately 200px wide --- total! -- end to end. If you look a little further down the params, you'll see Start: X 0px   Y  100px  and End: X 0px    Y  -100px... vertically oriented.
    You can either drag out the X's and set the Y's to zero for a horizontal orientation, or easier yet is to go into the Tools menu and select Adjust Item you'll get the onscreen controls you see below.
    You can drag the triangle shapes around on the screen to adjust your gradient end points and drag the small squares ("tags") to adjust the color ranges.
    You can double click on the line with the Adjust Item tool to add more colors, or right click on the line to pop up a contextual menu of other options (like adding opacity tags and a few other cool things like distributing the colors/opacities, or picking a preset gradient.)
    However, you still need to use the gradient tool in the inspector to set the "Middle" locations between tags.
    HTH

  • Is it possible to access elements of a view in implementation class?

    Hi,
            In the BSP component workbench, is it possible to manipulate elements of a view (listbox, inputfields etc., hardcoded using htmlb tags) in the methods of view implementation class. For example, I have a inputfield which is initially invisible. I want to make it visible when a particular event is triggered. I wish to code this directly in the event handler method. Can anybody provide some pointers?

    Arun,
    As the UI elements (tags) do only exist during rendering phase a direct access from the view controller is not possible - especially not in the forward-oriented way from within an event handler as  indicated from you in the posting.
    However, it is of course possible to hard-code view layouts; for this approach you can use the BSP view corresponding to the view and code there whatever you like. BSP views can also contain code snippets to achieve dynamic effects. In your example it doesn't look like that you need code at all - you need to preserve the status (visible/ invisible) in a value attribute of a context node and use this value to bind visibility of the input field on the layout.
    In CRM 2007, there are two main tag libraries (aka BSP extensions) being used:
    - THTMLB (single tags, like input field, button, table, ...)
    - CHTMLB (configuration tags; these are available for forms, tables and trees)
    You should always use these tag libraries in the first place to assure common look and feel and avoid rendering issues.
    Best regards
    Peter

  • Trying to understand object oriented programming

    Hi all,
    I'm new to programming and I'm trying to learn C and Objective-C to eventually write an iPhone/iPad app.
    I want to make sure I'm understanding some fundamental Object Oriented principles and so I'm starting with a very basic program.
    I've produced a class called CartesianPoint which has an x and y variable plus methods to set and return these variables and also a method to calculate the magnitude from the origin.
    What I would like to do now is to extend the program to have a CartesianVector class.
    I'm a little unsure as to whether a Vector is a subclass of a Point or whether a Point is a subclass of a Vector... or neither?
    Secondly, I'm a little unsure of how to implement the vector class to use two point objects. How should the header and implementation files be set up to receive point objects from the main.m program?
    I'd like to also try and extend the program to include other ways of defining a vector (i.e. origin, unity vector and magnitude).... and then use the vectors to build 2D shapes.
    Many thanks,
    Glyn
    Message was edited by: GlynC
    Message was edited by: GlynC

    Hi Glyn -
    I agree with William and would vote for "neither". I see a subclass as a specialization of its superclass, not, for example, something contained by its superclass. A container relationship might apply to a subview and its superview, yet the class of the superview could be a specialization of the subview's class so the subview's class might be the parent of the superview's class. The classic example of cat as a subclass of animal (cat:animal) can be misleading if we see the relationship as member:group. Cat is a subclass of animal because it's a specialization.
    Also ask, "What's accomplished by making a subclass"? Does the subclass want to use all or most of the parent's instance variables and methods? Could the job be done any other way? Are any of those ways simpler or do they lead to more reusable code?
    One of the best examples (from the Cocoa docs?) is about a programmer who needs a specialized array. A newbie might immediately attempt a subclass of NSArray (a rather tricky subclassing job as it happens). In most cases however, the correct solution would be a class which includes an NSArray* type instance variable.
    Hope some of the above is helpful!
    \- Ray

  • How do I Apply a Gradient to an Existing Mask?

    I  have a levels layer created from a selection.  Photoshop  uses a mask to protect/exclude the unselected area on the adjustment layer.  Now I need to add a gradient to that same mask.  But, when I try to add the gradient it throws away the original selection mask.  How can I add the gradient such that affects only the selected area?
    I'm using CS4 on Win7 64bit

    Grouping the layer with a blank layer and applying the mask and gradient worked.  Thanks.
    The other two solutions may well work, but I didn't understand them.  When I tried to use a gradient fill layer it covered the selected area -- that is, it acted as a gradient fill rather than a gradient mask.   Same problem with the gradient overlay, plus I didn't see how to orient the gradient.   Probably my ignorance.

Maybe you are looking for

  • Error in BP Group Hierarchy

    Hi , When I'm clicking on "Assigned Condition Records" tab for any hierarchy node in BP group hierrarchy, system is giving error "Usage PR and maintenance HIER_NODE cannot both be supplied".I've maintained maintenance group HIER_NODE properly in SPRO

  • Unable to find open A/R Invoices

    Hi All, Somehow, I login as Manager to SAP B1, I double click on the A/R Invoice. The form wasn't shown. But, If I go to Windows, I can see that A/R Invoice was on the list. Then, if I go to Row details, I can see the data is in there. I am not sure

  • Illustrator CS5.1 on Mavericks Faint Grey Tools/Crosshair Cursor

    I'm hoping some one is going to advise/help me on the 3rd time of asking about the tools pallete. I am using Illustrator CS5.1 on a iMac, I am working on 10.9 Mavericks, and now the crosshair/cursor/ various tools have almost dissappeared to a /faint

  • Ability to make external wireless?

    I have a macbook pro and I have all my iTunes music on an external hard drive so as not to use up all my macbook storage space. However, it kind of defeats the point of having a labtop if I have to keep it wired down all the time. If I get an airport

  • Peoplesoft Multi Lang Installation

    Hi All, I have installed PSFT 9.1 HCM with 8.53 PSFT tools in windows 2008 R2 server. Database version is 11gR2 (11.2.0.3). I have created database in AL32UTF8. Installed peopletools,application and peoplesoft database in Non-Unicode platform. Now th