imaqReadAVIFrame retrieves the empty image under certain conditions?

Hello

I'm having a problem where imaqReadAVIFrame (.) is the white recovery (all black images) under certain conditions.  The conditions seem to be when the height of the AVI file is equal to or greater than the width and the height is an odd number.  AVI files created by using the various AVI NI Vision (IMAQ 4.6.1, IMAQdx 4.6.1) functions in an application created in CVI 2012 on a computer running Windows 7 64 bit.  AVI files use MJPEG compressor, and they play back fine in an external program like VLC or Windows Media Player.  Any ideas on what this could be?  My solution for now is to not to allow the creation of AVI files where the height is odd and equal to or greater than the width that is not a boring restriction, but it seems like there's something weird happens with imaqReadAVIFrame().  I can provide some AVI files if necessary, but they are 16 + MB each.

TStanley,

I managed to reproduce what you see with your .avi files in a program I wrote.  I built a LabVIEW program that creates an AVI file which can be saved to memory and then uses code from the example finder to read who created the file.  I build the file to your specifications at the height is greater than the width, and the height being an odd number of pixels.  Something interesting about this, however, is that it seems to be a point where an odd height is acceptable.  Once you go below the height of 291 pixels, any odd height then works.  The files that I used are written as read in LabVIEW, but that the configuration should be irrelevant because we are seeing the same issue.  In addition, LabVIEW and LabWindows CVI calling the same dll to actually set up the code.

In this, I think this question arises from the nature of the way you compress the. AVI file.  If you are interested to read a bit more about it, a useful link can be found here:

http://www.manifest-tech.com/media_pc/avi_formats.htm

However, what I think is happening, is it that MJPEG file compression format translates into creating files that cannot be read by our software unless the height in pixels is a multiple of 2 or the size of the file is below a certain limit.  To fix that, there is a simple solution. Compress the file with any of the other compression methods available (DV video, Cinepak Codec, codec Intel IYUV, Microsoft RLE, Microsoft Video) and you will be able to open the file without the black screen.  This worked for me and should solve all your problems.  I hope this gives you a bit of insight.

Kind regards

Keith M

Technical sales engineer

Tags: NI Hardware

Similar Questions

  • Update on the table by extracting the data from the table even under certain conditions

    Hi Experts,

    I have the table EMP which currently has 6 entries.

    EMP_SYS BATCH_NO JOIN_DATE LOGIN_ID STATUS FLAG

    1 FEBRUARY 10 PROD 84 Y IND123 ABC

    DEV 1-23 APRIL 98 Y IND123 ABC

    2 12 APRIL PROD 98 Y IND123 ABC

    2 2 APRIL DEV 98 Y IND123 ABC

    3 13 APRIL PROD 98 Y IND123 ABC

    3 3 APRIL DEV 98 Y IND123 ABC

    CONDITION: I need to take lines which has the minimum BATCH_NO for each of the EMP_SYS

    for example,.

    1 FEBRUARY 10 PROD 84 Y IND123 ABC

    DEV 1-23 APRIL 98 Y IND123 ABC

    For the above two lines, I need to update the status of DEF. How to select this criterion and update in the same query?

    Currently, I used the query to select the minimum BATCH_NO for each of the EMP_SYS below.

    SELECT EMP_SYS, BATCH_NO, JOIN_DATE, FLAG, LOGIN_ID, STATUS

    Of

    (

    EMP_SYS, BATCH_NO, JOIN_DATE, FLAG, LOGIN_ID, STATUS, SELECT ROW_NUMBER)

    COURSE NR (PARTITION BY ORDER OF EMP_SYS OF EMP_SYS)

    FROM EMP

    WHEN STATUS = 'ABC' AND FLAG = "Y".

    )

    WHERE

    NR = 1;

    If I try to use the update on the above query statement... It updates every 6 rows instead of 2 rows.

    Please suggest me a way to update only the two lines that has the minimum BATCH_NO for each of the EMP_SYS.

    But is possible to write the query without using the Group of?

    Update e EMP

    set STATUS = "DEF".

    where BATCH_NO = (select min (BATCH_NO) from EMP I where STATUS = 'ABC' AND FLAG = 'Y' and i.emp_sys = e.emp_sys)

  • Get the value of the following line in the game ordered under certain conditions

    Do not know if my best subject line sums up what I do :)


    Oracle DB 12 c (I think 12.1.2)


    I have a table with the names of people and DOB with a few keystrokes. It is assumed that this person is the 'same' first_name, last_name, birth_day/month/year are identical

    drop table people;

    create table persons

    (

    first name varchar2 (30),

    VARCHAR2 (30) last_name,.

    birth_month varchar2 (2),

    birth_day varchar2 (2),

    birth_year varchar2 (4).

    keyVal number

    );

    insert into values('JOHN','SMITH','10','10','1974',1) people (first_name, last_name, birth_month, birth_day, birth_year, keyval);

    insert into values('JOHN','SMITH','10','10','1974',2) people (first_name, last_name, birth_month, birth_day, birth_year, keyval);

    insert into values('JANE','SMITH','10','10','1974',3) people (first_name, last_name, birth_month, birth_day, birth_year, keyval);

    insert into values('JANE','DOE','10','10','1974',4) people (first_name, last_name, birth_month, birth_day, birth_year, keyval);

    insert into values('JANE','DOE','10','10','1974',5) people (first_name, last_name, birth_month, birth_day, birth_year, keyval);

    insert into values('ERIC','DOE','11','10','1975',6) people (first_name, last_name, birth_month, birth_day, birth_year, keyval);

    insert into values('ERIC','DOE','11','10','1975',7) people (first_name, last_name, birth_month, birth_day, birth_year, keyval);

    insert into values('ERIC','DOE','11','10','1975',8) people (first_name, last_name, birth_month, birth_day, birth_year, keyval);

    I want to see the following output:

    first_name, last_name, birth_month, birth_day, birth_year, keyval_min, keyval_other

    JOHNSMITH101019741 2
    JANEDOE101019744 5
    ERICDOE111019756 7
    ERICDOE111019756 8

    1. the output will display only those who appear at least twice in the original table

    2. If the person appears twice in the original table, the output will only one result where first keyval will be min two; second keyval will be the other value;

    3. If the person has 3 times or more (n times, for example), each line of output will be keyval_min of all keyvals followed by the other value keyval. Total of n-1 lines

    It's very large 100 + M and the processing time is important.

    Hope I explained it well.

    Hello

    This sounds like a job for analytical functions.

    If the same person has N rows in the table, the output should be N - 1 lines.  You can use the ROW_NUMBER analytic function to assign numbers (1, 2, 3,...) to each line and do not display the lines nuimbered 1.

    On each line, you must prove the keyval lowest for this person.  The analytical MIN function can do this.

    Here's one way:

    WITH got_analytics AS

    (

    SELECT first_name, last_name, birth_month, birth_day, birth_year, keyval

    , ROW_NUMBER () OVER (PARTITION BY first_name, last_name, birth_month, birth_day, birth_year)

    ORDER BY keyval

    ) AS r_num

    , MIN (keyval) OVER (PARTITION BY first_name, last_name, birth_month, birth_day, birth_year)

    ) AS keyval_min

    AMONG the people

    )

    SELECT first_name, last_name, birth_month, birth_day, birth_year

    keyval_min

    keyval AS keyval_other

    OF got_analytics

    WHERE r_num > 1

    ORDER BY first_name, last_name, birth_month, birth_day, birth_year

    r_num

    ;

    Use the data DATE to the date information type.  With the help of 3 columns separate NUMBERS will result in complicated, ineffective, code errors and invalid data.

  • Under certain conditions allow a Feedback

    We use integrated installation of APEX flow back. We love this feature but, we will only use it in development. Is that anyway, apart from the use of JavaScript to hide or remove the link, we can have this under certain conditions depending on the environment in which the application is running?

    I know we can go turn off in the properties of the Application, but we have a ton of environments and having to manually press this switch whenever get us a new version of the application becomes tedious. I expect something more by program / data driven. For example, is it possible to return this switch integrated with PL/SQL?

    Thank you

    -Joe

    Create a compilation Option. In the development environment has defined the status on Includeand by default on export to exclude.

    Apply the Option to build on the entry page and the navigation bar of your comments. When the application is imported into a different environment the comments link and the page will not be returned.

  • Under certain conditions create script

    Hi, I want to put a redirect code in my stsytem to help, it is possible to build under certain conditions one < script type = "text/javascript" > tag?

    Any help would be great appricieated

    oooo and meta tags as well!

    You are wanting to add a Javascript within a topic and then conditionalise it so it appears only in some outings? If so, check out this part of the aid for the addition of scripts. Once it is in, you should be able to add a tag of conditional compilation to exclude required results.

    I'm not sure you can conditionalise however meta tags. Maybe if you elaborate a bit on what you're trying to reach.

  • How can I add a page under certain conditions?

    Hello

    I'm trying to find a way to add a page to my form under certain conditions. I tried to create this sequel to 'action', but failed to locate the correct action.

    To sum up, I am trying to add a separate page to my existing form with instructions when a specific check box is selected. The separate page is text only and does not form any entries/field. Is there a relatively simple way to accomplish this task?

    You can enter the code in the script editor. If you do not show you can get it by pressing on (on PC) Ctrl + Shift + F5.

  • Under certain conditions see the popup on page (fragment) charge

    Hi Experts,

    We have an obligation to show a popup on the page load, if a certain condition is true.

    I have two fragments (home.jsff and profile.jsff). Initially when the user login, home.jsff is indicated and that there should be no popup.

    When the user goes to profile.jsff and save the changes, it must first redirect to home.jsff and show a popup with the confirmation message.

    I can't create a fragment separated for the popup where we need to redirect to profile.jsff and then redirect to home.jsff as said the requirement that the popup should display the content of home.jsff in the background.

    Also I can't use showPopup behavior during the loading of the page because it's a jsff.

    Please suggest how to implement this.

    Thanks in advance.

    Best regards

    Saurabh

    ... There's an even simpler option

    1. Add a hidden from the fragment output text element

    2 bind the output components text 'value' property to a bean property of manage (pair of getter/setter)

    3. when the getter of the value method is called, check the indicator that you defined for if you want to display the context menu or not

    4. If the indicator is such that the popup needs to be displayed, run the Java Popup

    4.a search the component RichPopup

    4.b set flags of the popup

    4.c unset flag to display the pop-up window (for the next time you need to put it)

    4.d see the popup

    Frank

  • hide the text label in the section report IR under certain conditions

    Hello
    We have a textlabel and a calculated field in a section of report to the IR 11.1.2.1. Is it possible (in a script) to hide the textlabel and field based on certain conditions, like for example, if the field computes to 'zero '?
    Thank you.

    Use a field instead of the text label. In the Expression Editor you can use the function if() {} else {}

    HTH

    Wayne

  • Accidental license of Adobe Stock image and the second image under license, which freezes the screen

    I accidentally under license an image (77794802) and the second image, I have a license (36162545) freezes my computer whenever I try to open it. Help, please! Thank you.

    Hello

    I added a credit to your account in order to replace the image under license by mistake.

    What program do you use to try to open the 36162545?

    Kind regards

    Bev

  • Images do not appear in the preview pane in Windows Explorer under certain conditions

    I use Win 7 Prof - under Display Options in Windows Explorer, I have pictures (not "icons"). The pane is open.

    If I open a folder in Windows Explorer by double clicking the folder icon on the desktop, the preview pane works very well, showing the content of the image.  However if I navigate to a folder by using the folder tree pane in the Explorer Win itself, the preview pane does not display the pictures when you click on the image file.

    However, this problem occurs only for photos, as there is no problem of visualization of the contents of other files, such as Word, Excel, PDF, etc.

    Thanks for your advice. However, as a result of someone of another tip, I restarted in safe mode, and then again in Normal mode and the problem disappeared.

    What was the problem, I don't know, but it can help someone else, if the race in the same thing.

    Kind regards.

  • Java components installed to the AAU can be called under certain conditions?

    Hi all

    I developed a java component to unzip a file and documentation of all the files and folders individual in Complutense University of MADRID when a zip file is recorded.
    Once the component is installed, it works as expected and it is invoked and executed when a zip file is recorded.
    So, if:
    -Connection at the University Complutense of MADRID, navigate to a folder and run New-> new content and archiving of zip, the component file is called and executed.
    -Use the integration of desktop and drag-and - drop or copy-and - paste a file zip, the component is called and executed.

    Is it possible to call the component only when integrating office is used and not to invoke the component when
    the user connects via the AAU homepage? OR even if the component is called, y at - it a setting that I can query (using binder.getLocal) that would help me to determine if it is invoked by the integration of office or via UCM Homepage

    Thank you
    Benhamdia

    As others have said, you must empty the DataBinder by a binder.toString (). You can see all the variables and what are those which may indicate WebDAV / TELL.

    I think that some variables WebDAV / SAY can be as follows:
    WebdavRequest
    IS_WEBDAV_REQUEST
    WebdavSessionID

    Jonathan
    http://redstonecontentsolutions.com
    http://corecontentonly.com

  • Under certain conditions, update a table based on the comparison with a SQL statement

    I have a table (table 1) that has 4 columns:

    UID. THE NEST | VALUE1 | VALUE2

    I have another statement SQL (STMT) that returns the 3 columns of a few other tables:

    UID. THE NEST | VALUE1

    Now this is the condition of the way in which I want to put up-to-date TABLE1:

    First, to compare a pair of UID and PID of STMT with those in TABLE1,

    -1, for any new pair UID and PID not in TABLE1, insert a new line of STMT in TABLE1 set TABLE1. Value2 = 0 (I already did this).

    2, for an existing UID and PID pair in STMT and TABLE1, do:

    a. in TABLE1. Value2 > 0, update TABLE1. VALUE1 = STMT. VALUE1

    b. to TABLE1. Value2 = 0 and if TABLE1. VALUE1! = STMT. Value1, update of TABLE1. VALUE1 = STMT. Value1, otherwise nothing to do.

    I can't seem to come with a solution for condition 2. Any help is appreciated!

    Hello

    Here's one way:

    MERGE INTO  table1  dst
    USING          (
                 SELECT  ...   -- your stmt query goes here
             )   src
    ON         (    src.uid  = dst.uid
             AND      src.pid  = dst.pid
             )
    WHEN MATCHED THEN UPDATE
    SET           dst.value1 = CASE
                                   WHEN   dst.value2 > 0
                        OR     (   dst.value2 = 0
                             AND dst.calue1 != src.value1
                        )
                        THEN   src.value1
                               END
    WHERE   dst.value2 > 0
    OR (    dst.value2 = 0
       AND  dst.calue1 != src.value1
       )
    ;
    

    This assumes that the combination (uid, pid) is unique in stmt. It doesn't have to be unique in table1.

    sb92075 wrote:

    -1, for any new pair UID and PID not in TABLE1, insert a new line of STMT in TABLE1 set TABLE1. Value2 = 0 (I already did this).

    FUSION could also do parts 1 and 2 together, in the same statement.

    2, for an existing UID and PID pair in STMT and TABLE1, do:

    a. in TABLE1. Value2 > 0, update TABLE1. VALUE1 = STMT. VALUE1

    b. to TABLE1. Value2 = 0 and if TABLE1. VALUE1! = STMT. Value1, update of TABLE1. VALUE1 = STMT. Value1, otherwise nothing to do.

    Why are they not simply your needs ' uid and pid that already exist in stmt and table1, if table1.value2 > = 0, then the value table1.value1 = stmt.value1 "? Are you concerned about shooting triggers unnecessarily? It has something to do with null values? The MERGE statement above does exactly what you asked, but, depending on your needs, something simpler and more efficient could do it as well.

    I hope that answers your question.
    If not, post a small example data (CREATE TABLE and only relevant columns, INSERT statements) for all of the tables involved and also publish outcomes from these data.
    If you ask on a DML statement, such as UPDATE, the sample data will be the content of the or the tables before the DML, and the results will be the State of the or the tables changed when it's all over.
    Explain, using specific examples, how you get these results from these data.
    Always tell what version of Oracle you are using.
    See the FAQ forum {message identifier: = 9360002}

    Published by: Frank Kulash, June 6, 2012 14:51

  • How to display the image in the table based on certain conditions

    Hi all

    I have a table of search results which has a column as error.
    The data that appears in this column after research is 1 or 0.

    I want to display an image of success for "1" and a picture of error to the '0' value in the table.

    How to get there?

    TIA,
    Bob

    You must use the af:switcher component - http://jdevadf.oracle.com/adf-richclient-demo/docs/tagdoc/af_switcher.html

    For example








  • Get the next row in the set of results under certain conditions

    Hello
    I have a result set with a column in ascending order of the numbers. Now, I want to compare these numbers to a value. If one of the numbers exactly matches the value then all is well and I use number < = value as a condition. If the value does not match exactly I want to get the next number in the result as well. A short example

    NB in resultset
    41
    82
    123
    164
    205
    246

    To compare with value = 200, I want to have

    41
    82
    123
    164
    205

    as a result.

    To compare with value = 164, I want to have

    41
    82
    123
    164

    Thanks for any advice.
    Carsten cordially

    You can use analytical functions for that. There are several options, here is one.

    with testdata as (select 41 num from dual union all
                      select 82  num from dual union all
                      select 123 num from dual union all
                      select 164 num from dual union all
                      select 205 num from dual union all
                      select 246 num from dual)
    /* end of test data creation */
        ,resulttab as (select num, nvl(lag(num) over (order by num) ,0) next_num
                       from testdata )
    select num
    from resulttab
    where next_num < 200 ;
    NUM
    ---
    41
    82
    123
    164
    205
    
    ...
    select num
    from resulttab
    where next_num < 164 ;
    41
    82
    123
    164
    
  • Under certain conditions of shooting the ValidateEntity in OT

    I have a VO, inspired by the EO. There are 2 pages based on the original Version. Initially data entered page 1 then the data entered in page 1 are displayed in RO format and some additional data is entered on page 2. Now since the same EO and VO is involved for both pages, how can I prevent the entity level validation, all that data is stored in the first case. In other words, I want to fire conditionally code in validateEntity to EOIMpl.java, depending on whether the data is stored in the first case, or are updated in the second case (page 1 or page 2).

    How to achieve this?

    Concerning
    Ravi.

    Hello

    In the first page, based on the event to record, places the value of the transaction.

    Suppose that the ID of the button Save or "Save". Code something like this in the first Page Controller processFormRequest

    If (pageContext.getParamter ('Save')! = null)
    {
    pageContext.getRootApplicationModule () .getOADBTransaction () .putValue ("saved", "Y");
    }

    Now, in EOImpl, you override the validateEntity like that

    {
    Transaction OADBTransaction = getOADBTransaction();
    If (transaction.getValue ()! = null)
    {
    return;
    }
    on the other
    {
    super.validateEntity ();
    }
    }

    Now in the second page controller, in the processRequest

    Delete the value of the transaction

    pageContext.getRootApplicationModule () .getOADBTransaction () .removeValue ("Saved");

    Hope this helps

    Thank you

    Joseph

Maybe you are looking for