Jump to content

caleyjag

Members
  • Content Count

    19
  • Joined

  • Last visited

Community Reputation

2

About caleyjag

  • Rank
    Active

Profile Information

  • Gender
    Male
  • Location
    Thousand Oaks, California
  • Interests
    Mountain biking, skiing, hiking rugby, soccer(football), craft beer, travel and general adventuring

Contact Methods

LabVIEW Information

  • Version
    LabVIEW 2018
  • Since
    2003

Recent Profile Visitors

900 profile views
  1. Do your images always look like this? I'd experiment with using the white circles to center your frame of reference. Once you have your coordinates set, I'd do a quick binary threshold on the central area where the numbers are, and use some binary morphology to fill the cavities inside your digits. I'd first try the IMAQ Fill Holes.vi (I think it's called something like that). Alternatively, you can try dilate/erode combination, which may work better here in the even the numbers don't fully enclose the cavities every time. Once you have done that the OCR might work better. There are quite a lot of other tools you can play with to sharpen up your image. I'm not sure how well the OCR algorithms perform if the number is printed at an arbitrary angle. I've never tried that, so I'm interested to see. Alternatively, if your digits are always the same you could try making 10 templates (0-9) and using the IMAQ object/pattern matching VIs which are rotationally invariant. Would be a bit more work for you on the back end to figure out the ordering of the digits though
  2. Can you share your code? This seems like a tractable problem...
  3. Try this. Seems to work for me now. Notes: 1. You will need to enable the camera capture code. 2. I added terms to define the types of image you were loading (RGB). This mitigated an error in the extract HSV value plane VI. (Note: I was able to find this because I wired the error cluster all the way through - good habit to get into.) 3. You didn't have the Parameter constant wired in each of your match template cases. I added that in although it should be working fine off the default value (800/1000). smart Crind POC_caleyjag.vi
  4. Ok. Hard to run without your template images. If you can provide some images (maybe PM me privately) I can help with that. I would need both the template and raw images (which I can see you are recording each run.) For now, everything looks okay but it looks like you are running with a image match score of 985/1000. This is typically very high and with camera noise you may well get fails with that high of a setting. Not sure about the output with the wrong template though. I would need to see an example of that. Couple of other notes (my personal preferences, does not relate to your main problem) 1. I recommend linking the error cluster between all the VIs. This is very useful for trying to figure out where things go wrong. The Vision VIs are usually pretty good at flagging useful errors this way. 2. There is a color plane extraction VI in the Vision Utilities>Color Utilities pallette so you don't need the one generated from Vision Assistant.
  5. Can you save as LabVIEW 2016 so I can look at it?
  6. Understandably NI's own line of analog video frame grabbers have been obsolete for some time (since 2010 I believe). I have an industrial application where I am bound to using legacy analog VGA cameras. Upgrading the cameras is not an option I would like to use LabVIEW for testing purposes. Are there any good non-NI frame grabbers still out there that are easy to get up and running with LabVIEW? Unfortunately due to the bureaucratic purchasing processes ordering an old NI card of e-bay is not really feasible.
  7. I'm aware of this thread on passing errors around loops. https://forums.ni.com/t5/LabVIEW/Error-in-out-in-shift-register-yes-or-no/td-p/1077703 On a similar note, what is deemed the best way to handle wires containing references to devices or sessions in a loop? What are the pros and cons to consider? I've made a few examples using the Vision AVI2 library, but the same thing could apply to an IMAQ camera session, or indeed a TCP/IP or serial communication session, where you need to initialize a session, do your core logic (the loop) and then shut it all down at the end. In my case I already have the error cluster managing the function order execution. With that in mind, what's the best way to set up my wiring? Using LabVIEW 2016, 64bit. refnum_wiring_style.vi
  8. Freelance/consultancy help needed at our Southern California location. I have a project where I need to take an existing LabVIEW solution and adapt it to make the application FDA 21 CFR Part 11 compliant. The application is a machine vision solution using the Vision Development Module. The vision part is working well and doesn't need to be replaced. The system uses machine vision to inspect pharmaceutical injection components. I'm looking for an engineer with experience in developing, qualifying and validating Part 11-compliant systems, including the addition of audit trail and data integrity functionality. I wrote all of the original LabVIEW code so you would be working directly with me to implement the solution. I work at Amgen, a large biotechnology/pharmaceutical company based just north of Los Angeles. I have a preference to work with engineers located within reasonable driving range of our facility, however due to the niche nature of this project we can probably be somewhat flexible with distance. If you are interested please contact me and I will call you to discuss the project in more depth.
  9. The Axis P1214 or F44 series might work for you. They are (relatively) affordable. Small camera size is achieved by devolving most of the camera electronics into a downstream box. The cable is pretty long so should work for your application. Some of the models use a microvideo lenses. They have an 1080p variant. Unfortunately these cameras are intended for network streaming so the lossy video compression onboard is unavoidable. They can be programmatically used to capture uncompressed still images though at a much slower rate, if that is of use. In terms of industrial high-end cameras the smallest I can think of are the Basler Ace or Point Grey Blackfly which I think come in at around 5MP, resolution. These are more expensive ($2k range) and are roughly 30mm cube in size (you will need a slightly wider tube for a c-mount lens though). I think both brands are available in GigE, USB3 or CameraLink formats.
  10. I understand what you are saying, however I'm not proposing an alternative to IMAQ, which as you say is a solid package and adequate for many applications. Although IMAQ covers a lot of the bases I find myself having to create additional functions fairly regularly. It would be nice to find a way to share some of this work effectively. OpenG has a number of palettes that contain only a few basic functions that somebody thought might be useful to others. In some cases those are very modest modifications of original LabVIEW functions. I don't think we can expect anyone to develop a comprehensive library on their own and make it open source. But I do think there are probably a few functions and tricks people have developed relating to image processing that could complement NI's efforts.
  11. I hear you brother! My job requires me to deal with other languages and environments but I'm usually out of my comfort zone. That's why I'd like to find (or help develop) more LabVIEW-specific toolkits. OpenCV is probably the best open-source library I have found to date. The commercial libraries and tools can be expensive. They aren't generally a viable solution for the layman or hobbyist, or small projects with low budgets.
  12. In my job I develop in-house machine vision and image processing solutions for my company. In industrial machine vision and inspection, there are several main players (Cognex, Keyence, Matrox, Halcon, etc.) LabVIEW and IMAQ are not totally out of the picture but are far from common for manufacturing applications. I try to use LabVIEW whenever I can because I find it's great for quickly prototyping proof-of-concept systems. I use the Vision Acquisition and Vision Development Module toolkits extensively. For the most part, the functions provided by NI meet my needs. Increasingly though, I find myself pushing their limits, and yearning for the functionality offered by some of the competition. In some cases I can leverage these external libraries but that can be cumbersome. Aside from a couple of older, paid LabVIEW libraries from third party companies, I can't find much out there to complement the IMAQ palettes. 1.) Are there quality VIs out there and I'm just not seeing them? 2.) Is there an appetite for them? 3.) Would anyone be interested in working (with me or otherwise) on an open-source image processing toolkit?
  13. Yeah unfortunately I am going to be the one carrying the can here, and it's my first crack at a proper Part 11 application. I'm basically concerned that the IMAQ library may have one or two many bugs for it to be sufficiently stable. That's not necessarily a Part 11 issue as such, but in order to meet the needs of the application I need to be sure my choice of LabVIEW is a logical and robust one. That's why I'm hoping some people can vouch for the efficacy and reliability of the Vision Development functions, especially if they have tales from the pharmaceutical perspective. Thanks!
  14. I am writing an automated inspection application for a pharmaceutical company. The application is for the manufacturing line and therefore needs to be compliant with FDA requirements. As far as I can tell the DSC module is designed to handle e-signatures and the like, but I'm concerned flags will be raised as to the compliance of LabVIEW and the Vision Development Module itself. I'm using basic edge detection tools to measure critical dimensions on glass syringes. Nothing too fancy. Has anyone successfully used the NI Vision toolbox in approved, Part 11-compliant applications? I'm hoping to hear of some success stories so I can feel confident I am building this around an appropriate library.
  15. Hi all, I've been trying to figure out how to get a function made with LabVIEW 2011 up and running in MS Visual C# 2010 (.NET 4.0) I've been using this guide: http://zone.ni.com/reference/en-XX/help/371361H-01/lvhowto/building_a_net_assembly/ When i try to execute the code I made in visual studio I get the following error: Failed to call InitLVClient function I've seen this thread: http://forums.ni.com/t5/LabVIEW/VIAssemblyException-quot-Failed-to-call-InitLVClient-function/td-p/1472988 My question to you is, is it possible to create LabVIEW 2011 code for use in Visual C# 2010? If so does anybody have a link to a guide on how to export LabVIEW 2011 VIs into a format that can be called from Visual C# 2010? Even better yet, does anybody have any example code I could work off?
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.