Image Processing Algorithms - From Matlab to Pixel Bender

Hello.
Got a few Image Processing (Mainly Image Enhancement) Algorithms I created in Matlab.
I would like to make them run on Photoshop, Create a Plug In out of it.
Would Pixel Bender be the right way doing it?
The Algorithms mainly use Convolutions and Fourier Domain operations.
All I need is a simple Preview Window and few Sliders, Dropbox and Buttons.
I'd appreciate your help.

pixel vs float - Couldn't figure out what exactly is the difference if there is at all. I assume Pixel always get clipped into [0 1] and float won't until it gets to be shown on the screen as an output?
There is no difference between them. At one stage of development we had some ideas about the way the pixel type should work that would make it different to float, but the ideas never came to anything and by the time we realized that it was too late to change. It's #1 on my list of "mistakes we made when developing Pixel Bender".
Regions - Let me see if I get is straight. For the example assuming Gaussian Blur Kernel of Radius 5 (Not the STD, but the radius - a 11x11 Matrix). I should use "needed()" in order to define the support of each pixel output in the input image. I should do it to make sure no one changes those values before the output pixel is calculated.
Now, In the documentation is goes needed(region outputRegion, imageRef inputIndex). Should I assume that at default the outputRegion is actually the sampled pixel in the input? Now I use outset(outputRegion, float2(x, y)) to enlarge the "Safe Zone". I don't get this float2 number. Let's say it's (4, 3) and the current pixel is (10, 10). Now the safe zone goes 4 pixel to the left, 4 to the right, 3 up and 3 down? I assume it actually creates a rectangle area, right? Back to our example I should set outset(outputRegion, float2(5.0, 5.0)) right?
Needed is the function the system calls to answer the question "what area of the input do I need in order to calculate a particular area of the output?".
I should do it to make sure no one changes those values before the output pixel is calculated.
No, you should do it to make sure the input pixel values needed to compute the output pixel values have been calculated and stored.
Should I assume that at default the outputRegion is actually the sampled pixel in the input?
No. When "the system" (i.e. After Effects, PB toolkit or the Photoshop plugin) decides it wants to display a particular area of the output, it will call the needed function with that area in the outputRegion parameter. The job of the needed function is to take whatever output region it is given and work out what input area is required to compute it correctly.
Let's say it's (4, 3) and the current pixel is (10, 10).
Don't think in terms of "current pixel" when you're looking at the needed function. The region functions are not called on a per-pixel basis, they are called once at the start of computing the frame, before we do the computation for each pixel.
Back to our example I should set outset(outputRegion, float2(5.0, 5.0)) right?
Yes - you're correct. Whatever size the output region is, you require an input region that has an additional border of 5 pixels all round to calculate it correctly.

Similar Messages

  • Image processing algorithms on video frames.

    Hello.
    I am trying to access video frames, one by one, and do image processing on each of them. this practically includes just a comparison of successive video frames to see how much the content is changing so as to detect when the scenes in the video are changing. i am already using a variation of the frame access code by java. i am able to retrieve the individual frames in the 'buffer' format, and i can convert it to .png and save them to hdisk too.
    what i need to know is whether i can use the buffer type itself to do pixel comparisons, or i need to convert it to an image first. any1 with experience in image processing in java will probably have an idea. and if u can suggest a package, or code whatsoever available online which can help me in my image processing demands, i would really appreciate that.
    thanks!

    Hi Greyfox,
    You can calculate a checksum on the bytes in a bufferedImage and keep a hold of it and use it to check against the next image like so:
    try
              raster = buffImg.getWritableTile(buffImg.getWidth(), buffImg.getHeight());
              imgBytes = ((DataBufferByte)raster.getDataBuffer()).getData();
              // Compute CRC-32 checksum           
         checksumEngine.update(imgBytes, 0, imgBytes.length);
         long checksum = checksumEngine.getValue();
         // Check if it's the same as the previous checksum.
         if (checksum == previousImageChecksum)
              isFrozen = true;
              // Do some logging to try and find out why the image is frozen.
              log.debug("--------- ALERT : DUPLICATE IMAGES FOUND ---------");
              log.debug("Checksum comparison. Current = " + checksum + ". Previous = " + previousImageChecksum);           
         else
              // Give the previous checksum the current value so we can use it for the next check.
              previousImageChecksum = checksum;
         catch (Exception e)
              log.error("Error calculating the checksum.", e);
         // The checksum engine can be reused again for a different byte array by calling reset()
         checksumEngine.reset();

  • Batch image processing selects from Bridge

    I'm trying to figure out if there is a way for Bridge to batch process only the 'selects' from a folder. I've got the action for resizing and renaming down, but I run into a wall when I'm trying to preform a batch processing on only the selects from multiple folders.
    Anyone know of a way to tell bridge to only work with the selects? The file structure is such that I am attempting to batch 60 folders containing hi-res images. I need to resize the selects found within each folder.
    Thanks for any help that comes this way!
    -Tyler

    If you select the files and then use tools - Photoshop - Batch the action runs only for the selected files but I don't think you are able to batch action selected images from multiple folders. Using the Dr Brown script you may include subfolders in PSCS but that is all AFAIK.
    You can also rate the selected files and using the pin left down in the filter panel to save the filtering but then you would have to select the folders one by one.
    You can try scripting but in my opinion you will be better off with half an hour sorting all the files and copy or move them manual to one folder and than run a batch :-)

  • Image Processing - How to find a pixel cordinates in iOS ?

    Hi,
    I want to know how to find the cordinates of the pixel which i am chaging.
    Here is what i am doing.
    CGImageRef imgSource = self.ImageView.image.CGImage;
        CFDataRef m_DataRed1 = CGDataProviderCopyData(CGImageGetDataProvider(imgSource));
        CGFloat myheight;
        CGFloat mywidth;
        myheight= CGImageGetHeight(imgSource);
        mywidth = CGImageGetWidth(imgSource);
        UInt8 *dataOrignal = (UInt8 *)CFDataGetBytePtr(m_DataRed1);
        double lenghtSource = CFDataGetLength(m_DataRed1);
        NSLog(@"lenght : %f",lenghtSource);
        int bytesPerPixel_ = CGImageGetBitsPerPixel(imgSource)/8;
        size_t bytesPerRow = CGImageGetBytesPerRow(imgSource);
        NSLog(@"height = %f, width = %f, bytesperPixel = %d",myheight,mywidth,bytesPerPixel_);
        for(int x = 0; x < myheight; x++)
            for(int y = 0; y < mywidth; y++)
                int pixelStartIndex = bytesPerPixel_*((bytesPerRow*x)+y);
    //            if (pixelStartIndex <= lenghtSource) {
                    UInt8 alphaVal = dataOrignal[pixelStartIndex];
                    UInt8 redVal = dataOrignal[pixelStartIndex + 1];
                    UInt8 greenVal = dataOrignal[pixelStartIndex + 2];
                    UInt8 blueVal = dataOrignal[pixelStartIndex + 3];
                    if(redVal == 236 || alphaVal == 236 || greenVal == 236)
                        dataOrignal[pixelStartIndex] = 255;
                        dataOrignal[pixelStartIndex +1] = 0;
                        dataOrignal[pixelStartIndex +2] = 0;
                        dataOrignal[pixelStartIndex+3]= 255;
                        NSLog(@"x %d, y = %d, index = %d", x, y,pixelStartIndex);
        NSUInteger width = CGImageGetWidth(imgSource); //202
        NSUInteger height = CGImageGetHeight(imgSource);//173
        size_t bitsPerComponent = CGImageGetBitsPerComponent(imgSource);
        size_t bitsPerPixel = CGImageGetBitsPerPixel(imgSource);
        NSLog(@"the width = %u and height=%u of the image is ",width,height );
        NSLog(@"the bits per component is %zd", bitsPerComponent);
        NSLog(@"the bits per pixel is %zd", bitsPerPixel);
        NSLog(@"the bytes per row is %zd" , bytesPerRow);
        CGColorSpaceRef colorspace = CGImageGetColorSpace(imgSource);
        CGBitmapInfo bitmapInfo = CGImageGetBitmapInfo(imgSource);
        CFDataRef newData = CFDataCreate(NULL, dataOrignal, lenghtSource);
        CGDataProviderRef provider = CGDataProviderCreateWithCFData(newData);
        CGContextRef context = CGBitmapContextCreate(newData, width, height, bitsPerComponent, bytesPerRow, colorspace, bitmapInfo);
        CGPoint point = CGContextGetTextPosition(context);
        NSInteger xx =  point.x;
    //    point.y;
        NSLog(@"this is the value of x axis %d",xx);
        CGImageRef newImg = CGImageCreate(width, height, bitsPerComponent, bitsPerPixel, bytesPerRow, colorspace, bitmapInfo, provider, NULL, true, kCGRenderingIntentDefault);
        UIImage *newImage1 = [UIImage imageWithCGImage:newImg];
        self.ImageView.image = newImage1;
    is this the right way to parse the image using x & y ?
    I dont know if the pixelstartIndex is correct or not, but it does change the pixels.
    I want to make sure if the x & y i am NSLogging is correct or not.
    Thanks in Advance

    BufferedImage img = null;
    DataBufferByte imgRasterBuffer = null;
    int imgColors[][];
    URL url = BumpMap1.class.getResource("bumpmap1/img.png");
    try
    img = ImageIO.read(url);
    catch(java.io.IOException x)
    System.out.println(x.getMessage());
    imgWidth = img.getWidth();
    imgHeight = img.getHeight();
    imgRasterBuffer = (DataBufferByte)(img.getRaster().getDataBuffer());
    imgColors = new int[imgWidth * imgHeight][3];
    // Store RGB values into array
    for (int x = 0; x < imgWidth; x++)
    for (int y = 0; y < imgHeight; y++)
    int c = img.getRGB(x, y);
    int loc = y * imgWidth + x;
    imgColors[loc][0] = (c&(255<<16))>>16;
    imgColors[loc][1] = (c&(255<<8))>>8;
    imgColors[loc][2] = c&255;
    if(imgColors[pixX+(pixY*imgWidth)][0] == 0 &&
    imgColors[pixX+(pixY*imgWidth)][1] == 0 &&
    imgColors[pixX+(pixY*imgWidth)][2] == 0)
    // it's black

  • Where is pixel bender directory used by Photoshop CS5.1 (from Creative Suite 5.5 Web Premium)?

    CS5.1 does not appear to use the Pixel Bender Files directory in the Adobe Directory.  If I add a new pixel bender filter (.pbx) to the other filters in that directory, it does not show up in the Pixel Bender Filters Gallery from within Photoshop.  Actually, the listing of the filters from within Photoshop Pixel Bender Filter Gallery and the filters in the /Adobe/Photoshop CS5.1 (64bit)/Pixel Bender Files are different.  Any explanation?

    This is Adobe Contribute forum, you can post this query on http://forums.adobe.com/community/photoshop .

  • Pixel Bender problems

    I used the Oil Paint filter on an image, but when I then tried to use the Brush Stroke filter, it was grayed out (along with several other filters)..  I converted the original image to a smart object before applying the Oil Paint filter in Pixel Bender. The technique is one used in a Kelby tutorial, but in that one the instructor used the Brush Stroke filter. Nobody in the Pixel Bender forum has an answer.  In addition, I tried to uninstall the plug-in and Extension Manager said I lacked the appropriate permission to remove Pixel Bender. I am logged in as Adminstrator, so I don't know what further permission I might need.

    Is your image 16 bits/channel and is that one of the pixel bender filters or Photoshop filter effects filter
    Filter>Brush Strokes?
    Try converting your image to RGB color and 8 bits/channel. Image>Mode.
    To uninstall the pixel bender filter right click on the extension manager shortcut and choose Run as Administrator.
    MTSTUNER

  • Pixel Bender filter to process DICOM images

    I was wondering whether it would be possible to process DICOM
    images (used in medical)? It would be great if the high-speed
    processing engine of Pixel Bender would be able to change
    brightness/contrast of DICOM images on the fly (and visualise the
    result of course). Anybody any ideas?

    I don't see any reason why you couldn't use Pixel Bender to
    process the image if you had the right DICOM decoder (image
    loader). The only requirement for processing using Pixel Bender is
    that you need the image data in a big buffer with a < 4 channel
    chunky format.
    From my (limited) understanding of DICOM, the images are
    saved using JPEG, so what you are trying to do should be
    possible.

  • Unpredicted image distortion and Pixel Bender support

    Hi!
    I'm running my very simple Pixel Bender filter that replaces colors around the image (inverts pixels). Running on various graphic cards I got sometimes unpredictable results (FP10, Flash), when running this filter on a big number of images (image sizes are 1000x200 pixels).
    Images got distorted - the example is included.
    I can't find the exact case when it happens, but I think it may somehow connected with GPU drivers. Sometimes I got a correct image, and sometimes not on the same graphic card.
    Is there a way to force a filter to use CPU instead of GPU? And is there a function in Flex to detect if the Pixel Bender is supported on a current graphic card and turn it off?

    Sorry, I was a bit wrong describing what's happening. I'm running an AIR application (on Windows).
    I'm running a filter on BitmapData with applyFilter (checking if it is not null, before the run). The image size is about 1000x200 or 2000x200. There are about 300 images which are processed in a loop. Here's a piece of my code:
                    var invertColorShader:Shader = new Shader(new InvertColorKernel() );
                    var invertColorFilter:ShaderFilter = new ShaderFilter( invertColorShader );
                    var point: Point = new Point(0,0);
                    for (var i:Number=0;i<_imagesArrayCollection.source.length;i++)
                            bitmapData = (_imagesArrayCollection.source[i].imageBitmap as Bitmap).bitmapData;
                            if (bitmapData != null && bitmapData.width>0)
                                bitmapData.applyFilter(bitmapData, rect, point, invertColorFilter);
    Some times people running my application experience the unpredicted images distortions I have shown above. The configurations range from desktop computers to notebooks , and the above behaviour is random, still cannot find the exact case.
    Is there a way in AIR to find if Pixel Bender uses GPU or CPU and force it to switch?

  • Batch image processing from bridge cause photoshop to crash

    But first it goes ahead and processes the images selected in Bridge. All of them like even over a hundred at a time (great time saver!). Then displays a message for each image in one error dialogue saying, "Sorry Photoshop couldn't process the image. . ." for each image.
    It also saves the images to the a folder above (in hierarchy) instead of the folder I select in the batch dialogue. I've tried using Batch process from within Photoshop and get the same result as image process from Bridge.
    While I am able to do the processing I need, it's annoying to have the force quit Photoshop each time, and Then to move the processed images where they belong.
    I am on a G5, 4mb ram, OSX 10.4.11. Photoshop CS3 #10.0.1, and bridge CS3 # 2.1.1.9.
    I usually do the updates when I'm alerted, but haven't heard of anything recently.
    Any ideas?

    Hi SSPrengel
    OK - maybe this will shed some light
    Try changing the size to something very small.- see below
    Try changing the compression. Not affected by the level of Quality (2% 50% or 100%) - all fail to load
    Try changing whether a color-profile is embedded or not. Not an option AFAIK in LR Export
    Try changing if the metadata is minimized or not. Not an option AFAIK in LR Export
    Try changing if the JPGs are exported relative to the source image or some fixed location. Exported to a specific location.
    If I use the Image export resize option it loads OK (resize to 1000*673 from 3916*2634).
    Older exports (from LR2.3 and earlier, of the same size image, and source DNG are OK)
    A centre crop from the Image (1205*691) is OK. A marginal crop (2 edges)  (3838*2552) is OK whereas a very slight crop at (3693*2614) FAILS
    The camera is Leica M8, images is in Leica RAW format (DNG).
    It appears to be function of Image export size (reduced either by Cropping or by 'Resizing on Export'
    Looks like a bug in LR2.6
    Message was edited by: V64
    PS I am using a G5 PowerMac with Tiger OSX

  • Pixelated images when exporting from Lightroom

    I recently switched from A Windows PC to the MBP Retina 15". I imported photos to lightroom from my external hard drive in RAW format to lightroom, edited then exported firstly as jpeg resized to 630 x 420 at 150 dpi. The images came out pixelated so I tried exporting at 300dpi even though the images are for web use. They still came out pixelated. So I tried exporting as .tif files at 300 dpi and still they are coming out pixelated... does anyone know why this would be? The raw files don't look pixelated at all.

    [email protected] wrote:
    I resized this image to 1200 x 800 and have just cropped a section to show you.
    PART I
    Viewed at 100%, I see no "pixelation" or any other distortion of any kind whatsoever.
    Only a 100% view (1:1) shows you your true image.  At smaller percentage views, pixels have to be discarded; at greater percentages pixels have to be made up (invented) by the software.
    With the Retina screen you're bound to see very strange things, unless you're using the latest and greatest versions of Photoshop and of your video card, and utilizing the Retina features of the software.
    PART II
    JPEG is a lousy, lossy format for maintaining image quality.  Every single time you open or create and save a JPEG, the image quality deteriorates, no exceptions.  Even at the highest quality of compression.
    To take a very low resolution JPEG, like you did, and subject it to such a massive enlargement is to ask for demand trouble.  Not only are you also magnifying all the JPEG compression artifacts, but you are "inventing" an inordinate amount of pixels.
    If you have to enlarge your images often, start with an image file that has NEVER been a JPEG.
    PART III
    Photoshop performed superbly in your case.  That is a remarkably fine enlargement, especially considering the miserly JPEG you started from.  Rejoice!

  • Captivate 5 - Inserted PNG images from Fireworks are pixelated

    The PNG images I inserted from Fireworks are showing up pixelated when I play the file in a browser, but look fine while I'm working in Captivate.  Any thoughts?
    THANKS!
    Birgit

    Hello,
    Did you try changing the publish quality? Because of the fact that CP when converting to SWF will still be doing some compression, I really would give that first of all a try.
    PNG allows even partial transparency, and certainly its 24-bit version. That is one of the reasons that it is superior to JPEG (no transparency) and GIF (only 100% transparency).  But I'm not really used to Fireworks, always using Photoshop for graphical assets.
    Lilybiri

  • Pixel Bender - 'image dimensions' error message

    I can use Pixel Bender in Photoshop as 64bit, but not 32bit.  Is that usual to be able to only use 64bit?  Also, when I use it, I have to resize the photo at exactly 1020px on the longest side.  If I size it any less, PS stops working. If I size it any larger, I get an error message that says -- 'The image dimensions exceed the hardware capabilities of your GPU'.  Does this mean I need a different Graphics Card.  This is the only program I get this message on.
    Thank you for any help  you can provide.

    Turn off dual GPU usage in your card prefs.
    Mylenium

  • Create Image from Array of Pixels

    Greetings:
    I am trying to create an industry standard image (jpeg, tiff) from a raw data format. I am getting mixed up as to which classes to use. The data itself is in binary little-endian. I am using a ByteBuffer to readInt()s in the correct byte order. It appears that I am reading all of the input data ok, but I can't get the actual image creation part of the code. I would appreciate any insight offered as I think this likely not the best approach to solving the problem. Thank you for your time.
    My code is as follows:
    import java.awt.*;
    import java.awt.color.*;
    import java.awt.image.*;
    import java.io.*;
    import java.util.*;
    import javax.imageio.*;
    import javax.swing.*;
    import java.nio.*;
    public class Main {
        public static void main(String[] args) throws IOException {
            final int H = 2304;
            final int W = 3200;
            byte[] pixels = createPixels(W*H);
            BufferedImage image = toImage(pixels, W, H);
            display(image);
            ImageIO.write(image, "jpeg", new File("static.jpeg"));
        public static void _main(String[] args) throws IOException {
            BufferedImage m = new BufferedImage(1, 1, BufferedImage.TYPE_BYTE_GRAY);
            WritableRaster r = m.getRaster();
            System.out.println(r.getClass());
        static byte[] createPixels(int size) throws IOException {
            int newsize = size*4;
            byte[] pixels = new byte[newsize];
            String filename = "Run 43.raw";
            InputStream inputStream = new FileInputStream(filename);
            int offset = 0;
            int numRead = 0;
            while (offset < pixels.length
                    && (numRead=inputStream.read(pixels, offset, pixels.length-offset)) >= 0) {
                offset += numRead;
            return pixels;
        static BufferedImage toImage(byte[] pixels, int w, int h) {
            ByteBuffer byteBuffer = ByteBuffer.wrap(pixels);
            byteBuffer.order(ByteOrder.LITTLE_ENDIAN);
            int trash = byteBuffer.getInt(); // strip width
            trash = byteBuffer.getInt(); // strip height
            int[] fixedOrder = new int[2304*3200];
            for (int i=0; i < (2303*3199); i++) {
                fixedOrder[i] = byteBuffer.getInt();
            System.out.println(fixedOrder.length);
            DataBuffer db = new DataBufferInt(fixedOrder, w*h);
            WritableRaster raster = Raster.createPackedRaster(db,
                w, h, 1, new int[]{0}, null);
            ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_GRAY);
            ColorModel cm = new ComponentColorModel(cs, false, false,
                Transparency.OPAQUE, DataBuffer.TYPE_INT);
            return new BufferedImage(cm, raster, false, null);
        static void display(BufferedImage image) {
            final JFrame f = new JFrame("");
            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            f.getContentPane().add(new JLabel(new ImageIcon(image)));
            f.pack();
            SwingUtilities.invokeLater(new Runnable(){
                public void run() {
                    f.setLocationRelativeTo(null);
                    f.setVisible(true);
    }

    I have modified my code to be easier to read and it now compiles and builds without errors, however the image it produces is all black and the jpeg it writes is 0 bytes.
    Note: This code was modified from a forum post by user DrLaszloJamf. Thank you for your starting point.
    import java.io.*;
    import java.nio.*;
    import java.awt.*;
    import java.awt.color.*;
    import java.awt.image.*;
    import java.util.*;
    import javax.swing.*;
    import javax.imageio.*;
    public class Main {
        /** Creates a new instance of Main */
        public Main() {
         * @param args the command line arguments
        public static void main(String[] args) throws IOException {
            final int width = 2304;
            final int height = 3200;
            final int bytesInHeader = 4;
            final int bytesPerPixel = 2;
            final String filename = "Run 43.raw";
            InputStream input = new FileInputStream(filename);
            byte[] buffer = new byte[(width*height*bytesPerPixel)+bytesInHeader];
            System.out.println("Input file opened. Buffer created of size " + buffer.length);
            int numBytesRead = input.read(buffer);
            System.out.println("Input file read. Buffer has " + numBytesRead + " bytes");
            long numBytesSkipped = input.skip(4);
            System.out.println("Stripped header. " + numBytesSkipped + " bytes skipped.");
            ByteBuffer byteBuffer = ByteBuffer.wrap(buffer);
            byteBuffer.order(ByteOrder.LITTLE_ENDIAN);
            System.out.println("Created ByteBuffer to fix little endian.");
            short[] shortBuffer = new short[width*height];
            for (int i = 0; i < (width-1)*(height-1); i++) {
                shortBuffer[i] = byteBuffer.getShort();
            System.out.println("Short buffer now " + shortBuffer.length);
            DataBuffer db = new DataBufferUShort(shortBuffer, width*height);
            System.out.println("Created DataBuffer");
            WritableRaster raster = Raster.createInterleavedRaster(db,
                width, height, width, 1, new int[]{0}, null);
            System.out.println("Created WritableRaster");
            ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_GRAY);
            System.out.println("Created ColorSpace");
            ColorModel cm = new ComponentColorModel(cs, false, false,
                Transparency.OPAQUE, DataBuffer.TYPE_USHORT);
            System.out.println("Created ColorModel");
            BufferedImage bi = new BufferedImage(cm, raster, false, null);
            System.out.println("Combined DataBuffer, WritableRaster, ColorSpace, ColorMode" +
                    " into Buffered Image");
            ImageIO.write(bi, "jpeg", new File("test.jpeg"));
            display(bi);
            System.out.println("Displaying image...");
        static void display(BufferedImage image) {
            final JFrame f = new JFrame("");
            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            f.getContentPane().add(new JLabel(new ImageIcon(image)));
            f.pack();
            SwingUtilities.invokeLater(new Runnable(){
                public void run() {
                    f.setLocationRelativeTo(null);
                    f.setVisible(true);
    }

  • Image processing from .txt file onto an intensity graph

    I am doing a mini project in my class and I was wondering if anyone could help me. It about image processing but I am bit stuck.
    Heres the idea:
    "An image is really nothing more than a 2D array of data. The value of every element in the array corresponds to the brightness of the image at that point.
    In this project you will create a VI which loads a 2D array of data and then displays it on the screen using the Intensity Graph. Three example files (boats.txt, gordon.txt and parrot.txt) are available on the module webpage that you can use. However, you can also use any other black and white image you like, but will need to convert it to a “text image” first. To do this you can use some software called “ImageJ” which is available on the computers and is free to download.
    You can vary the brightness of an image by adding the same value to every element in the array.
    The contrast of an image is adjusted by multiplying every element in the array by the same value. Using numerical controls and simple array mathematics, you should adjust the brightness and contrast of your displayed image.
    Some other ideas that you could try with image manipulation are:
    o Invert an image (change black to white and white to black)"
    First I am having problems putting my picture onto the graph. It is in the write file but the colours are not correct and the image has rotated 90 degrees. I will upload my VI so far when I get back onto my computer.
    Would really appricate the help! Thank you for reading

    Hi charlthedancer,
    Here is an example to get you started.
    Kind regards,
    GajanS
    Attachments:
    Test.vi ‏14 KB

  • Pixel Bender and the Droste Effect plugin from Adobe Labs

    I was just wanting to know if the above plugin can be used with PSE 11, since PSE 11 is based on CS5, and CS5 is what the plugin is designed for.....? It would be a genuine blast to work with a filter like that; I can think of a dozen different pictures I'd try making with it.

    I don't know about the Droste Effect, but Pixel Bender doesn't work with PSE, alas.

Maybe you are looking for

  • Problems with Photoshop Elements 8

    I need help with my software. Every time that I print a photo using Photoshop Elements 8, the photo comes out with vertical lines and the colors are awful. I need to use Windows Photo Viewer to print photos, but I do not have the options I have when

  • Integration Error:SSL failure running another product.In DeveloperSuite 10g

    I'm using DeveloperSuite 10g. I'm trying run the report from Forms but when I'm clicking on button to run report using RUN_REPORT_OBJECT I'm getting following error : Integration Error : SSL failure running another product. Can any one explain why I'

  • Error :number range interval 01 does not exist

    Hi,   i created a number range object Z_REPORTID in SNRO for autogenerated ids and later used the function module NUMBER_GET_NEXT. After execution i got the following error. For object Z_REPORTID, number range interval 01 does not exist Message no. N

  • Keeps asking to update to iOs 8.1.1

    I have an iPhone 5S with iOS 8.1.  When I sync the phone with iTune, it asks me to update to iOS 8.1.1.  The software downloads and installs; I see a message on iTunes saying the update has completed and the phone will restart on an automatic timer. 

  • Export issue - cs5 to cs6

    Hi I am drawing images with illustrator and I convert them into .eps files before I use them in my latex file. I was using cs5 until two weeks ago and I had no problem. I changed to cs6 and now, every image displays on one whole page in latex. What I