Jump to content

caleyjag

Members
  • Posts

    23
  • Joined

  • Last visited

Profile Information

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

LabVIEW Information

  • Version
    LabVIEW 2020
  • Since
    2003

Recent Profile Visitors

3,003 profile views

caleyjag's Achievements

Newbie

Newbie (1/14)

  • Week One Done
  • One Month Later
  • One Year In Rare

Recent Badges

2

Reputation

  1. I wasn't able to get the BetterFolderBrowser DLL working on my system unfortunately.
  2. I'm aware of this thread over at NI: https://forums.ni.com/t5/LabVIEW/select-multiple-files-and-folders/td-p/3049461 I have an application where I want to manually select a handful of folders (which in my case live in the same directory) and automatically fill their paths into an array. As stated in the discussion linked above, the File Dialog express VI offers a mode to select multiple files, but as I can tell it does not offer the functionality to select multiple folders. Am I missing an obvious solution?
  3. Do you have the Vision Development Module? The wide angle lens may not be the right tool for the job. Look up telecentric lenses. I can't tell what the field of view you need is, which is important in lens choice. Telecentric lenses are expensive. Is this for an academic or industrial application?
  4. Hard to comment too much without some example images. I think you are on the right track to do an object detection with a more primitive image processing step to recenter the ROI and mitigate errors, but can't really comment further without a handful of images for context.
  5. 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
  6. Can you share your code? This seems like a tractable problem...
  7. 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
  8. 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.
  9. Can you save as LabVIEW 2016 so I can look at it?
  10. 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.
  11. 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
  12. 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.
  13. 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.
  14. 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.
  15. 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.
×
×
  • Create New...

Important Information

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