It has become a sort of cliché to whine about the week busy – as there is happening quite a lot at the moment. Maybe we should not say “busy” but rather “very interesting”. Read on to check whether our last week was actually very interesting or not…
As you have noticed, we take great care to make Cryptoucan™ a perfect cryptographic token. Truth is, there is lot to do to during the manufacturing process to ensure ultimate quality. Today we will give you a sneak peek into the testing of soldered PCBs on our new testing jig.
Every Cryptoucan™ PCB tested is placed and fixed in a holder under a camera on an arm. The image from the camera is converted to grayscale and smoothed using simple Gaussian blur as seen in Picture 1 below.
Picture 1: Camera image converted to grayscale and smoothed using simple Gaussian blur.
With camera image processed this way, it is possible to use canny edge detector to find the interesting edges in the image – like the shapes shown in Picture 2.
Picture 2: Canny edge detector results.
The last thing in this image processing was to do a Hough circle transform on the detected edges and with the right parameters it yields the locations of PCB fixation markers. Of course, everything with the help of OpenCV bindings for Racket.
Picture 3: Superimposed results on the original camera image.
Depicted in picture 3 above are the two interesting circles detected superimposed on top of the original camera image. The green rectangles are the areas of interest – sort of “hints” for the algorithm, where to find (approximately) the fixation markers. And then the cyan line shows the coordinates transformation base that will be used for further processing and detecting possible problems with the tested PCB.
As you can imagine, there is lot more to do about this and I certainly assure you there will be more to show – finally including some video action once again!
Thank you for staying with us on our journey to create the perfect cryptographic token and see you next week with more!
1. Wikipedia contributors. (2018, November 15). Printed circuit board. In Wikipedia, The Free Encyclopedia. Retrieved 09:32, November 29, 2018, from https://en.wikipedia.org/w/index.php?title=Printed_circuit_board&oldid=869022723
3. Wikipedia contributors. (2018, November 20). Gaussian blur. In Wikipedia, The Free Encyclopedia. Retrieved 09:34, November 29, 2018, from https://en.wikipedia.org/w/index.php?title=Gaussian_blur&oldid=869786458
4. Wikipedia contributors. (2018, September 24). Canny edge detector. In Wikipedia, The Free Encyclopedia. Retrieved 09:34, November 29, 2018, from https://en.wikipedia.org/w/index.php?title=Canny_edge_detector&oldid=861016149
5. Wikipedia contributors. (2018, August 17). Circle Hough Transform. In Wikipedia, The Free Encyclopedia. Retrieved 09:34, November 29, 2018, from https://en.wikipedia.org/w/index.php?title=Circle_Hough_Transform&oldid=855385445
6. OpenCV (Open Source Computer Vision Library), available online from https://opencv.org/
7. FFI bindings to the OpenCV library, available online from https://pkgs.racket-lang.org/package/opencv
8. Racket solve problems · make languages, available online from http://racket-lang.org/