<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/temperature-vs-position-line-profile-from-radiometric-pixel-data</loc>
    <lastmod>2026-11-11T18:53:38-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-d2e97c59352951026c5d0ba6.jpg?v=1794391352</image:loc>
      <image:title>Temperature vs position line profile from radiometric pixel data</image:title>
      <image:caption>Temperature vs position line profile from radiometric pixel data</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/lighting-for-stereo-depth-accuracy-sunlight-helps-glare-hurts</loc>
    <lastmod>2026-11-11T08:48:20-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-50ec12932a936ffa8505c3a4.jpg?v=1794391632</image:loc>
      <image:title>Lighting for stereo depth accuracy: sunlight helps, glare hurts</image:title>
      <image:caption>Lighting for stereo depth accuracy: sunlight helps, glare hurts</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/3d-point-cloud-template-matching-and-deviation-measurement</loc>
    <lastmod>2026-11-11T17:47:07-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-36170445b4c279e64d22738c.jpg?v=1794392230</image:loc>
      <image:title>3D point cloud template matching and deviation measurement</image:title>
      <image:caption>3D point cloud template matching and deviation measurement</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/edge-object-detection-soc-camera-boards-vs-smart-cameras</loc>
    <lastmod>2026-11-11T18:47:29-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-ed6faef11fdcfdd235ae2ad4.jpg?v=1794393153</image:loc>
      <image:title>Edge object detection: SoC camera boards vs smart cameras</image:title>
      <image:caption>Edge object detection: SoC camera boards vs smart cameras</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/matlab-dot-pattern-camera-calibration-detect-the-points-yourself</loc>
    <lastmod>2026-11-11T07:05:23-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-030c7b31b260cee9e17b1f5e.jpg?v=1794393242</image:loc>
      <image:title>MATLAB dot pattern camera calibration: detect the points yourself</image:title>
      <image:caption>MATLAB dot pattern camera calibration: detect the points yourself</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/vision-system-image-logging-over-ftp-to-debug-picking-faults-remotely</loc>
    <lastmod>2026-11-11T10:52:19-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-a6ecdb34314351962f963618.jpg?v=1794393555</image:loc>
      <image:title>Vision system image logging over FTP to debug picking faults remotely</image:title>
      <image:caption>Vision system image logging over FTP to debug picking faults remotely</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/depth-camera-disconnects-when-the-ir-stream-starts-usb-power-budget</loc>
    <lastmod>2026-11-11T07:05:18-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-ad314b03571dc256c2fc6d76.jpg?v=1794394155</image:loc>
      <image:title>Depth camera disconnects when the IR stream starts: USB power budget</image:title>
      <image:caption>Depth camera disconnects when the IR stream starts: USB power budget</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/why-a-ur-wrist-camera-preview-freezes-during-program-run</loc>
    <lastmod>2026-11-11T07:05:32-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-fe584bd4e348075204f73627.jpg?v=1794395061</image:loc>
      <image:title>Why a UR wrist camera preview freezes during program run</image:title>
      <image:caption>Why a UR wrist camera preview freezes during program run</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/connect-a-gige-camera-on-a-different-subnet-set-remote-and-local-ips</loc>
    <lastmod>2026-11-11T11:32:41-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-e4f8dfc1de124c096a309677.jpg?v=1794395417</image:loc>
      <image:title>Connect a GigE camera on a different subnet: set remote and local IPs</image:title>
      <image:caption>Connect a GigE camera on a different subnet: set remote and local IPs</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/apply-new-camera-settings-without-replug-set-stop-or-reset</loc>
    <lastmod>2026-11-11T10:53:44-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-d8971fc37314d4de7836e398.jpg?v=1794395716</image:loc>
      <image:title>Apply new camera settings without replug: set, stop or reset</image:title>
      <image:caption>Apply new camera settings without replug: set, stop or reset</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/display-an-rtsp-camera-stream-in-an-hmi-snapshot-url-or-vlc</loc>
    <lastmod>2026-11-11T07:05:18-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-2ac08719bcf4a21a67450810.jpg?v=1794396075</image:loc>
      <image:title>Display an RTSP camera stream in an HMI: snapshot URL or VLC</image:title>
      <image:caption>Display an RTSP camera stream in an HMI: snapshot URL or VLC</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/save-inspection-images-to-a-database-from-node-red</loc>
    <lastmod>2026-11-11T07:05:26-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-aef1dd830a2e1732c6bc5d75.jpg?v=1794396375</image:loc>
      <image:title>Save inspection images to a database from Node-RED</image:title>
      <image:caption>Save inspection images to a database from Node-RED</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/missing-getframe-in-your-camera-sdk-how-to-enable-opencv-support</loc>
    <lastmod>2026-11-11T07:05:23-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-77efe280d86c9d3b0ffce707.jpg?v=1794396679</image:loc>
      <image:title>Missing getFrame in your camera SDK: how to enable OpenCV support</image:title>
      <image:caption>Missing getFrame in your camera SDK: how to enable OpenCV support</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/lighting-for-glossy-packaging-inspection-stop-the-glare</loc>
    <lastmod>2026-11-11T12:09:41-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-1b1813e51552d45ced52d538.jpg?v=1794396981</image:loc>
      <image:title>Lighting for glossy packaging inspection: stop the glare</image:title>
      <image:caption>Lighting for glossy packaging inspection: stop the glare</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/verify-scanned-barcodes-against-a-plc-lookup-table</loc>
    <lastmod>2026-11-11T07:05:30-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-830c97583226c3fcb1d186e9.jpg?v=1794397067</image:loc>
      <image:title>Verify scanned barcodes against a PLC lookup table</image:title>
      <image:caption>Verify scanned barcodes against a PLC lookup table</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/scale-a-camera-image-to-fit-an-hmi-widget-the-right-way</loc>
    <lastmod>2026-11-11T11:32:43-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-ac7bf602f18030f06bed8cfd.jpg?v=1794397153</image:loc>
      <image:title>Scale a camera image to fit an HMI widget the right way</image:title>
      <image:caption>Scale a camera image to fit an HMI widget the right way</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/vision-picking-parts-stacked-in-trays-inside-a-cardboard-box</loc>
    <lastmod>2026-11-11T07:05:31-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-1ae3f47df2ca22e1fd14f40f.jpg?v=1794397456</image:loc>
      <image:title>Vision picking parts stacked in trays inside a cardboard box</image:title>
      <image:caption>Vision picking parts stacked in trays inside a cardboard box</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/ocr-character-regions-not-recognized-what-reaches-the-classifier</loc>
    <lastmod>2026-11-11T07:05:24-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-d224468e8d10ab00c2b611d3.jpg?v=1794397758</image:loc>
      <image:title>OCR character regions not recognized: what reaches the classifier</image:title>
      <image:caption>OCR character regions not recognized: what reaches the classifier</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/camera-detected-but-no-image-check-if-another-app-holds-the-camera</loc>
    <lastmod>2026-11-11T07:05:16-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-af8f79daa0753ec217932bf8.jpg?v=1794398058</image:loc>
      <image:title>Camera detected but no image: check if another app holds the camera</image:title>
      <image:caption>Camera detected but no image: check if another app holds the camera</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/training-data-for-detecting-partially-occluded-objects</loc>
    <lastmod>2026-11-11T07:05:28-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-cf817fed8423fcaa748a5e85.jpg?v=1794398356</image:loc>
      <image:title>Training data for detecting partially occluded objects</image:title>
      <image:caption>Training data for detecting partially occluded objects</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/abort-a-serial-barcode-read-when-the-scanner-reads-nothing</loc>
    <lastmod>2026-11-11T07:05:16-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-01e1b4f42092fc9a737b71cd.jpg?v=1794398450</image:loc>
      <image:title>Abort a serial barcode read when the scanner reads nothing</image:title>
      <image:caption>Abort a serial barcode read when the scanner reads nothing</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/jpeg-split-into-an-exact-number-of-packets-fix-the-camera-hang</loc>
    <lastmod>2026-11-11T07:05:15-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-00d209495d9a0b95eae6c691.jpg?v=1794398715</image:loc>
      <image:title>JPEG split into an exact number of packets: fix the camera hang</image:title>
      <image:caption>JPEG split into an exact number of packets: fix the camera hang</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/jpeg-camera-to-embedded-display-decode-before-you-store</loc>
    <lastmod>2026-11-11T15:08:46-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-3274cb9abf007eb092bc972e.jpg?v=1794399016</image:loc>
      <image:title>JPEG camera to embedded display: decode before you store</image:title>
      <image:caption>JPEG camera to embedded display: decode before you store</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/thermal-camera-electrical-inspection-finding-hotspots-in-panels</loc>
    <lastmod>2026-11-11T18:53:39-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-2a16a5ef2ce5fafcee3667d8.jpg?v=1794399097</image:loc>
      <image:title>Thermal camera electrical inspection: finding hotspots in panels</image:title>
      <image:caption>Thermal camera electrical inspection: finding hotspots in panels</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/disable-the-projector-for-a-2d-live-feed-brightness-0-0</loc>
    <lastmod>2026-11-11T07:13:04-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-2752cfa356ed641b513b80dd.jpg?v=1794399184</image:loc>
      <image:title>Disable the projector for a 2D live feed: brightness 0.0</image:title>
      <image:caption>Disable the projector for a 2D live feed: brightness 0.0</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/opencv-videocapture-fails-when-gstreamer-is-not-built-in</loc>
    <lastmod>2026-11-11T07:17:18-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-74e8024357fe1c847f1bc8b8.jpg?v=1794399438</image:loc>
      <image:title>OpenCV VideoCapture fails when GStreamer is not built in</image:title>
      <image:caption>OpenCV VideoCapture fails when GStreamer is not built in</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/why-the-gige-vision-heartbeat-timeout-stops-your-stream-after-a-pause</loc>
    <lastmod>2026-11-11T07:18:43-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-69a141eddeb6075778436963.jpg?v=1794399523</image:loc>
      <image:title>Why the GigE Vision heartbeat timeout stops your stream after a pause</image:title>
      <image:caption>Why the GigE Vision heartbeat timeout stops your stream after a pause</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/lighting-solder-joints-on-brass-dome-plus-coaxial-fill</loc>
    <lastmod>2026-11-11T07:32:34-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-6c3be5fd894cac619d47318d.jpg?v=1794400354</image:loc>
      <image:title>Lighting solder joints on brass: dome plus coaxial fill</image:title>
      <image:caption>Lighting solder joints on brass: dome plus coaxial fill</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/tablet-camera-barcode-scanning-focus-resolution-and-decode-limits</loc>
    <lastmod>2026-11-11T07:37:19-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-22aa7e2ce69413e2b2f18d33.jpg?v=1794400638</image:loc>
      <image:title>Tablet camera barcode scanning: focus, resolution and decode limits</image:title>
      <image:caption>Tablet camera barcode scanning: focus, resolution and decode limits</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/imagesc-axis-coordinates-map-pixels-to-real-world-sizes</loc>
    <lastmod>2026-11-11T18:53:37-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-ecf693cea34ee950e9c09741.jpg?v=1794400940</image:loc>
      <image:title>imagesc axis coordinates: map pixels to real-world sizes</image:title>
      <image:caption>imagesc axis coordinates: map pixels to real-world sizes</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/external-sync-edge-controlled-exposure-on-a-line-scan-camera</loc>
    <lastmod>2026-11-11T11:57:32-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-c4128974aa061a9b24c35efd.jpg?v=1794402167</image:loc>
      <image:title>External sync edge-controlled exposure on a line scan camera</image:title>
      <image:caption>External sync edge-controlled exposure on a line scan camera</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/depth-buffer-is-corrupt-over-remote-ros-fix-the-bandwidth</loc>
    <lastmod>2026-11-11T10:53:47-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-6d484988377064a80a87079e.jpg?v=1794402465</image:loc>
      <image:title>Depth buffer is corrupt over remote ROS: fix the bandwidth</image:title>
      <image:caption>Depth buffer is corrupt over remote ROS: fix the bandwidth</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/ocr-verify-mode-checking-printed-text-against-an-expected-string</loc>
    <lastmod>2026-11-11T08:12:26-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-e0fead54bc2c5d8e8d1617ba.jpg?v=1794402746</image:loc>
      <image:title>OCR verify mode: checking printed text against an expected string</image:title>
      <image:caption>OCR verify mode: checking printed text against an expected string</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/shadow-removal-in-machine-vision-lighting-why-shadows-fool-checks</loc>
    <lastmod>2026-11-11T16:32:02-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-f3e261fecc6bb4d36e09e770.jpg?v=1794403826</image:loc>
      <image:title>Shadow removal in machine vision lighting: why shadows fool checks</image:title>
      <image:caption>Shadow removal in machine vision lighting: why shadows fool checks</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/align-ir-and-rgb-on-a-tof-depth-camera-with-your-own-extrinsics</loc>
    <lastmod>2026-11-11T08:35:20-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-9b9c0860dbc82b6344d2aa7f.jpg?v=1794404120</image:loc>
      <image:title>Align IR and RGB on a ToF depth camera with your own extrinsics</image:title>
      <image:caption>Align IR and RGB on a ToF depth camera with your own extrinsics</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/switch-camera-exposure-time-per-inspection-recipe</loc>
    <lastmod>2026-11-11T08:42:17-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-9d94d3fbb429106eee20fc02.jpg?v=1794404537</image:loc>
      <image:title>Switch camera exposure time per inspection recipe</image:title>
      <image:caption>Switch camera exposure time per inspection recipe</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/blurry-barcode-edges-detection-with-edge-strength-not-downsample</loc>
    <lastmod>2026-11-11T12:45:17-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-b867854cadad824c13e75e3e.jpg?v=1794404621</image:loc>
      <image:title>Blurry barcode edges: detection with edge strength, not downsample</image:title>
      <image:caption>Blurry barcode edges: detection with edge strength, not downsample</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/high-accuracy-preset-sparse-depth-visualization-only-not-data-loss</loc>
    <lastmod>2026-11-11T08:48:19-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-2b772a7c9a889f555e95465e.jpg?v=1794404899</image:loc>
      <image:title>High accuracy preset sparse depth: visualization only, not data loss</image:title>
      <image:caption>High accuracy preset sparse depth: visualization only, not data loss</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/send-images-over-a-tcp-socket-in-python-with-a-length-header</loc>
    <lastmod>2026-11-11T18:58:04-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-eb0dbf60eb4ca1393125dd65.jpg?v=1794404977</image:loc>
      <image:title>Send images over a TCP socket in Python with a length header</image:title>
      <image:caption>Send images over a TCP socket in Python with a length header</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/usb-camera-into-a-ros2-detectnet-pipeline-replace-the-rosbag-input</loc>
    <lastmod>2026-11-11T08:54:30-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-b20298bfb007846fd257d86d.jpg?v=1794405270</image:loc>
      <image:title>USB camera into a ROS2 DetectNet pipeline: replace the rosbag input</image:title>
      <image:caption>USB camera into a ROS2 DetectNet pipeline: replace the rosbag input</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/infrared-vs-rgb-stereo-input-for-visual-slam-train-and-deploy-match</loc>
    <lastmod>2026-11-11T08:55:49-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-138b1063031936dace5bd2c9.jpg?v=1794405349</image:loc>
      <image:title>Infrared vs RGB stereo input for visual SLAM: train and deploy match</image:title>
      <image:caption>Infrared vs RGB stereo input for visual SLAM: train and deploy match</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/imx477-not-detected-on-jetson-orin-nano-csi-bring-up-checks</loc>
    <lastmod>2026-11-11T19:20:49-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-197abbd351a82bc16017dd17.jpg?v=1794405627</image:loc>
      <image:title>IMX477 not detected on Jetson Orin Nano: CSI bring-up checks</image:title>
      <image:caption>IMX477 not detected on Jetson Orin Nano: CSI bring-up checks</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/counting-hollow-particles-in-an-image-with-backlighting</loc>
    <lastmod>2026-11-11T09:07:10-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-8e74729335107f3e1371e0cb.jpg?v=1794406030</image:loc>
      <image:title>Counting hollow particles in an image with backlighting</image:title>
      <image:caption>Counting hollow particles in an image with backlighting</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/detect-a-usb-camera-disconnected-during-acquisition-from-stale-frames</loc>
    <lastmod>2026-11-11T09:08:31-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-678ccd619d2586d0f6aec85c.jpg?v=1794406111</image:loc>
      <image:title>Detect a USB camera disconnected during acquisition from stale frames</image:title>
      <image:caption>Detect a USB camera disconnected during acquisition from stale frames</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/acquire-from-multiple-usb-cameras-bandwidth-and-sync</loc>
    <lastmod>2026-11-11T09:13:20-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-948dd40c8d12b364590427fa.jpg?v=1794406399</image:loc>
      <image:title>Acquire from multiple USB cameras: bandwidth and sync</image:title>
      <image:caption>Acquire from multiple USB cameras: bandwidth and sync</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/camera-preview-fails-in-a-container-set-the-display-variable</loc>
    <lastmod>2026-11-11T09:21:15-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-db783fe12f158ca9ebd9ad77.jpg?v=1794406875</image:loc>
      <image:title>Camera preview fails in a container: set the display variable</image:title>
      <image:caption>Camera preview fails in a container: set the display variable</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/return-the-camera-buffer-after-gstreamer-is-done-not-after-push</loc>
    <lastmod>2026-11-11T09:26:23-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-d327fadf91010a59c121d70d.jpg?v=1794407183</image:loc>
      <image:title>Return the camera buffer after GStreamer is done, not after push</image:title>
      <image:caption>Return the camera buffer after GStreamer is done, not after push</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/multiple-browsers-one-ip-camera-why-the-stream-flickers</loc>
    <lastmod>2026-11-11T10:52:17-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-c1ce7ba29adc353e476333b1.jpg?v=1794407480</image:loc>
      <image:title>Multiple browsers, one IP camera: why the stream flickers</image:title>
      <image:caption>Multiple browsers, one IP camera: why the stream flickers</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/high-cpu-usage-with-multiple-cameras-on-one-embedded-board</loc>
    <lastmod>2026-11-11T12:14:21-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-552c47d9399e13935b849e85.jpg?v=1794408051</image:loc>
      <image:title>High CPU usage with multiple cameras on one embedded board</image:title>
      <image:caption>High CPU usage with multiple cameras on one embedded board</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/3d-camera-sdk-logs-filling-embedded-storage-set-the-log-sink</loc>
    <lastmod>2026-11-11T09:42:13-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-a37d02df32e35869fc306c1b.jpg?v=1794408133</image:loc>
      <image:title>3D camera SDK logs filling embedded storage: set the log sink</image:title>
      <image:caption>3D camera SDK logs filling embedded storage: set the log sink</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/extract-a-region-of-interest-from-an-image-after-detection</loc>
    <lastmod>2026-11-11T09:43:34-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-21c0fa03b32630e4cd3df2c9.jpg?v=1794408214</image:loc>
      <image:title>Extract a region of interest from an image after detection</image:title>
      <image:caption>Extract a region of interest from an image after detection</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/serial-port-forwarding-from-a-robot-controller-to-your-vision-pc</loc>
    <lastmod>2026-11-11T09:48:28-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-276a43a0105dea75f3de6964.jpg?v=1794408508</image:loc>
      <image:title>Serial port forwarding from a robot controller to your vision PC</image:title>
      <image:caption>Serial port forwarding from a robot controller to your vision PC</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/pick-rate-for-vision-guided-part-presentation-on-a-feeder</loc>
    <lastmod>2026-11-11T09:59:18-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-9be8cd97149fbbb54d3a8817.jpg?v=1794409157</image:loc>
      <image:title>Pick rate for vision guided part presentation on a feeder</image:title>
      <image:caption>Pick rate for vision guided part presentation on a feeder</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/store-multiple-part-poses-from-one-vision-image</loc>
    <lastmod>2026-11-11T10:04:28-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-bc6e04c50b1dd664745dd604.jpg?v=1794409467</image:loc>
      <image:title>Store multiple part poses from one vision image</image:title>
      <image:caption>Store multiple part poses from one vision image</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/ip-camera-snapshot-stops-loading-fix-refresh-and-connection-limits</loc>
    <lastmod>2026-11-11T10:24:18-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-1a5a49164599349fce2bdfda.jpg?v=1794409823</image:loc>
      <image:title>IP camera snapshot stops loading: fix refresh and connection limits</image:title>
      <image:caption>IP camera snapshot stops loading: fix refresh and connection limits</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/access-a-smart-camera-over-vpn-add-a-remote-subnet-route</loc>
    <lastmod>2026-11-11T10:15:28-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-e83c92af85e61dace5dc43ab.jpg?v=1794410127</image:loc>
      <image:title>Access a smart camera over VPN: add a remote subnet route</image:title>
      <image:caption>Access a smart camera over VPN: add a remote subnet route</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/refresh-an-ip-camera-snapshot-in-an-iframe-without-auth-errors</loc>
    <lastmod>2026-11-11T10:24:16-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-3aba4a49c18c1df732af7fda.jpg?v=1794410656</image:loc>
      <image:title>Refresh an IP camera snapshot in an iframe without auth errors</image:title>
      <image:caption>Refresh an IP camera snapshot in an iframe without auth errors</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/http-snapshot-url-polling-ip-camera-still-image-on-a-timer</loc>
    <lastmod>2026-11-11T18:05:08-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-155e750cbbf78a3f85489a5c.jpg?v=1794411338</image:loc>
      <image:title>HTTP snapshot URL polling: IP camera still image on a timer</image:title>
      <image:caption>HTTP snapshot URL polling: IP camera still image on a timer</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/ip-camera-widget-shows-no-feed-put-the-rtsp-url-in-the-binding-field</loc>
    <lastmod>2026-11-11T11:38:44-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-2486a5be65934490082f01c6.jpg?v=1794411638</image:loc>
      <image:title>IP camera widget shows no feed: put the RTSP URL in the binding field</image:title>
      <image:caption>IP camera widget shows no feed: put the RTSP URL in the binding field</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/convert-a-3d-point-cloud-from-ply-to-pcd-in-your-pipeline</loc>
    <lastmod>2026-11-11T10:42:00-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-d5d5b180cf5c6dcdc1d7e287.jpg?v=1794411720</image:loc>
      <image:title>Convert a 3D point cloud from PLY to PCD in your pipeline</image:title>
      <image:caption>Convert a 3D point cloud from PLY to PCD in your pipeline</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/rgbd-slam-with-a-depth-camera-rtabmap-setup-and-good-depth-data</loc>
    <lastmod>2026-11-11T10:43:24-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-fd8cf5cac18c3c34395e15cc.jpg?v=1794411803</image:loc>
      <image:title>RGBD SLAM with a depth camera: rtabmap setup and good depth data</image:title>
      <image:caption>RGBD SLAM with a depth camera: rtabmap setup and good depth data</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/scan-barcode-action-fires-twice-fix-inherited-container-events</loc>
    <lastmod>2026-11-11T10:50:39-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-630ae86fccba914f803bfb25.jpg?v=1794411884</image:loc>
      <image:title>Scan barcode action fires twice: fix inherited container events</image:title>
      <image:caption>Scan barcode action fires twice: fix inherited container events</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/cycle-ip-camera-snapshot-views-in-a-dashboard-and-switch-on-alarm</loc>
    <lastmod>2026-11-11T13:47:03-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-49a70cb22269c097b49225cd.jpg?v=1794412157</image:loc>
      <image:title>Cycle IP camera snapshot views in a dashboard and switch on alarm</image:title>
      <image:caption>Cycle IP camera snapshot views in a dashboard and switch on alarm</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/route-barcode-scan-data-to-tags-by-view-with-a-session-property</loc>
    <lastmod>2026-11-11T10:50:38-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-d1b2e81e8a2dc89a4f067142.jpg?v=1794412238</image:loc>
      <image:title>Route barcode scan data to tags by view with a session property</image:title>
      <image:caption>Route barcode scan data to tags by view with a session property</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/fx5u-socket-communication-with-a-vision-camera-over-raw-tcp</loc>
    <lastmod>2026-11-11T10:52:16-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-5fa226c4900f0fe940e2cb56.jpg?v=1794412335</image:loc>
      <image:title>FX5U socket communication with a vision camera over raw TCP</image:title>
      <image:caption>FX5U socket communication with a vision camera over raw TCP</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/multiple-camera-views-on-one-gpu-tensor-buffer-slice-per-view</loc>
    <lastmod>2026-11-11T10:53:44-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-04b2f2e042741c18d925f851.jpg?v=1794412424</image:loc>
      <image:title>Multiple camera views on one GPU tensor buffer: slice per view</image:title>
      <image:caption>Multiple camera views on one GPU tensor buffer: slice per view</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/master-slave-architecture-for-vision-guidance-who-runs-the-pick</loc>
    <lastmod>2026-11-11T11:09:27-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-431b5826a0b7dfaea0c92812.jpg?v=1794413367</image:loc>
      <image:title>Master-slave architecture for vision guidance: who runs the pick</image:title>
      <image:caption>Master-slave architecture for vision guidance: who runs the pick</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/jetpack-and-vpi-version-mismatch-on-a-gmsl-camera-align-the-l4t</loc>
    <lastmod>2026-11-11T11:17:16-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-bb0c016acca3e92e0be4d4bf.jpg?v=1794413836</image:loc>
      <image:title>JetPack and VPI version mismatch on a GMSL camera: align the L4T</image:title>
      <image:caption>JetPack and VPI version mismatch on a GMSL camera: align the L4T</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/find-camera-sensor-size-and-focal-length-with-no-datasheet</loc>
    <lastmod>2026-11-11T17:47:09-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-0f6f040613f9400f4bb46550.jpg?v=1794414138</image:loc>
      <image:title>Find camera sensor size and focal length with no datasheet</image:title>
      <image:caption>Find camera sensor size and focal length with no datasheet</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/long-running-capture-pipeline-crash-isolate-the-leak-first</loc>
    <lastmod>2026-11-11T11:30:04-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-2a875ce3a700fb8d0b011ce8.jpg?v=1794414437</image:loc>
      <image:title>Long-running capture pipeline crash: isolate the leak first</image:title>
      <image:caption>Long-running capture pipeline crash: isolate the leak first</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/ocr-label-parsing-to-plc-folder-watch-database-lookup-modbus-tcp</loc>
    <lastmod>2026-11-11T11:28:39-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-89476ec9b20de447aab512c2.jpg?v=1794414519</image:loc>
      <image:title>OCR label parsing to PLC: folder watch, database lookup, Modbus TCP</image:title>
      <image:caption>OCR label parsing to PLC: folder watch, database lookup, Modbus TCP</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/v4l2-dqbuf-stalls-after-a-few-frames-buffer-starvation-math</loc>
    <lastmod>2026-11-11T11:30:02-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-68e5bc0a90fd4ee0f187ea32.jpg?v=1794414602</image:loc>
      <image:title>V4L2 DQBUF stalls after a few frames: buffer starvation math</image:title>
      <image:caption>V4L2 DQBUF stalls after a few frames: buffer starvation math</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/connect-a-depth-camera-to-jetson-orin-nano-build-from-source</loc>
    <lastmod>2026-11-11T11:31:21-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-da498eac4ea17fc4eeb4481a.jpg?v=1794414681</image:loc>
      <image:title>Connect a depth camera to Jetson Orin Nano: build from source</image:title>
      <image:caption>Connect a depth camera to Jetson Orin Nano: build from source</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/multi-camera-stream-failure-recovery-contain-the-crash-in-userspace</loc>
    <lastmod>2026-11-11T11:32:40-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-f7b466b39c39814bb6889f31.jpg?v=1794414760</image:loc>
      <image:title>Multi-camera stream failure recovery: contain the crash in userspace</image:title>
      <image:caption>Multi-camera stream failure recovery: contain the crash in userspace</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/jetson-stereo-camera-devicetree-set-sync-sensor-index-on-sensor-1</loc>
    <lastmod>2026-11-11T11:37:15-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-9992a419f8a7e92d32979a08.jpg?v=1794415035</image:loc>
      <image:title>Jetson stereo camera devicetree: set sync_sensor_index on sensor 1</image:title>
      <image:caption>Jetson stereo camera devicetree: set sync_sensor_index on sensor 1</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/live-camera-image-in-an-hmi-runtime-snapshots-vs-streams</loc>
    <lastmod>2026-11-11T14:27:29-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-8ad8f84f6c4cc664dc5f6bb8.jpg?v=1794415121</image:loc>
      <image:title>Live camera image in an HMI runtime: snapshots vs streams</image:title>
      <image:caption>Live camera image in an HMI runtime: snapshots vs streams</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/c-mount-flange-focal-distance-tolerance-fix-focus-with-shims</loc>
    <lastmod>2026-11-11T11:49:17-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-7edb01677454c86122d4ad9b.jpg?v=1794415757</image:loc>
      <image:title>C-mount flange focal distance tolerance: fix focus with shims</image:title>
      <image:caption>C-mount flange focal distance tolerance: fix focus with shims</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/when-to-use-a-line-scan-camera-motion-sync-and-light</loc>
    <lastmod>2026-11-11T11:57:31-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-5289e388aa7978a1cfb6d8d4.jpg?v=1794416251</image:loc>
      <image:title>When to use a line scan camera: motion, sync and light</image:title>
      <image:caption>When to use a line scan camera: motion, sync and light</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/collimated-backlight-setup-working-distance-and-light-size</loc>
    <lastmod>2026-11-11T12:02:31-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-ea286532fa61d3fe50ecd27e.jpg?v=1794416551</image:loc>
      <image:title>Collimated backlight setup: working distance and light size</image:title>
      <image:caption>Collimated backlight setup: working distance and light size</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/part-localization-across-surface-finishes-with-lighting-you-control</loc>
    <lastmod>2026-11-11T16:32:02-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-ee45209fa9d76f9e4aca4a6b.jpg?v=1794416980</image:loc>
      <image:title>Part localization across surface finishes with lighting you control</image:title>
      <image:caption>Part localization across surface finishes with lighting you control</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/gige-vision-camera-on-an-hmi-bridge-gvsp-to-rtsp</loc>
    <lastmod>2026-11-11T13:08:24-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-d13f9e8410cd98f68dc739b8.jpg?v=1794420504</image:loc>
      <image:title>GigE Vision camera on an HMI: bridge GVSP to RTSP</image:title>
      <image:caption>GigE Vision camera on an HMI: bridge GVSP to RTSP</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/record-video-from-a-camera-feed-for-inspection-traceability</loc>
    <lastmod>2026-11-11T12:15:50-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-51a31677f4b98582813164cc.jpg?v=1794417350</image:loc>
      <image:title>Record video from a camera feed for inspection traceability</image:title>
      <image:caption>Record video from a camera feed for inspection traceability</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/gige-camera-connection-drops-when-a-monitoring-tool-is-connected</loc>
    <lastmod>2026-11-11T12:17:12-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-6953e88a6d4ea38bd70f1339.jpg?v=1794417431</image:loc>
      <image:title>GigE camera connection drops when a monitoring tool is connected</image:title>
      <image:caption>GigE camera connection drops when a monitoring tool is connected</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/trigger-a-camera-from-a-part-sensor-and-save-each-image</loc>
    <lastmod>2026-11-11T12:22:15-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-75f3094b0321d6852f57ee5c.jpg?v=1794417735</image:loc>
      <image:title>Trigger a camera from a part sensor and save each image</image:title>
      <image:caption>Trigger a camera from a part sensor and save each image</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/vision-server-connection-drops-intermittently-fix-xml-rpc-failures</loc>
    <lastmod>2026-11-11T12:27:14-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-e38ca9644be0c0edd8663d65.jpg?v=1794418034</image:loc>
      <image:title>Vision server connection drops intermittently: fix XML-RPC failures</image:title>
      <image:caption>Vision server connection drops intermittently: fix XML-RPC failures</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/camera-stuck-low-at-5-fps-separate-acquisition-from-processing-loops</loc>
    <lastmod>2026-11-11T12:32:26-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-960aa75293dbf4d8779a5966.jpg?v=1794418346</image:loc>
      <image:title>Camera stuck low at 5 fps: separate acquisition from processing loops</image:title>
      <image:caption>Camera stuck low at 5 fps: separate acquisition from processing loops</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/wrist-mounted-2d-camera-simulation-for-a-robot-gripper-tool</loc>
    <lastmod>2026-11-11T12:37:19-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-c96609da004fecb18e5f8c51.jpg?v=1794418639</image:loc>
      <image:title>Wrist mounted 2D camera simulation for a robot gripper tool</image:title>
      <image:caption>Wrist mounted 2D camera simulation for a robot gripper tool</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/machine-vision-inspection-points-for-pharmaceutical-packaging-lines</loc>
    <lastmod>2026-11-11T15:38:19-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-7972616d7ff4b419cf787b1b.jpg?v=1794419116</image:loc>
      <image:title>Machine vision inspection points for pharmaceutical packaging lines</image:title>
      <image:caption>Machine vision inspection points for pharmaceutical packaging lines</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/imaqdx-extract-color-planes-why-the-image-type-must-be-rgb-u32</loc>
    <lastmod>2026-11-11T12:58:18-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-880d0d6d4e0c4e3c483bbb7d.jpg?v=1794419898</image:loc>
      <image:title>IMAQdx extract color planes: why the image type must be RGB U32</image:title>
      <image:caption>IMAQdx extract color planes: why the image type must be RGB U32</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/fetch-buffer-returns-empty-components-fix-gige-stability</loc>
    <lastmod>2026-11-11T13:03:33-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-0cc3c482c797101f16e11c3a.jpg?v=1794420213</image:loc>
      <image:title>Fetch buffer returns empty components: fix GigE stability</image:title>
      <image:caption>Fetch buffer returns empty components: fix GigE stability</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/detect-a-frozen-camera-stream-alarm-when-the-last-frame-goes-stale</loc>
    <lastmod>2026-11-11T13:08:20-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-e5cdaa74cee32c75e152d71d.jpg?v=1794420500</image:loc>
      <image:title>Detect a frozen camera stream: alarm when the last frame goes stale</image:title>
      <image:caption>Detect a frozen camera stream: alarm when the last frame goes stale</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/labview-camera-dll-load-error-check-the-bitness-first</loc>
    <lastmod>2026-11-11T13:09:49-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-f0b1a658d37fcf09f91fb97d.jpg?v=1794420589</image:loc>
      <image:title>LabVIEW camera DLL load error: check the bitness first</image:title>
      <image:caption>LabVIEW camera DLL load error: check the bitness first</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/stereo-depth-fov-loss-why-rectification-crops-the-view</loc>
    <lastmod>2026-11-11T13:14:36-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-7fcf105d23d331ef93204259.jpg?v=1794420876</image:loc>
      <image:title>Stereo depth FOV loss: why rectification crops the view</image:title>
      <image:caption>Stereo depth FOV loss: why rectification crops the view</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/urcap-version-mismatch-match-vision-plugin-to-polyscope</loc>
    <lastmod>2026-11-11T13:16:04-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-4314f420e42b59264602da60.jpg?v=1794420964</image:loc>
      <image:title>URCap version mismatch: match vision plugin to PolyScope</image:title>
      <image:caption>URCap version mismatch: match vision plugin to PolyScope</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/point-cloud-extrinsic-transform-order-rotate-then-translate</loc>
    <lastmod>2026-11-11T15:18:08-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-ae046e123c3be84a36982c42.jpg?v=1794421053</image:loc>
      <image:title>Point cloud extrinsic transform order: rotate then translate</image:title>
      <image:caption>Point cloud extrinsic transform order: rotate then translate</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/build-vs-buy-modular-camera-modules-for-uav-vision-payloads</loc>
    <lastmod>2026-11-11T13:19:06-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-4d86754a647fb9dd271ff8f1.jpg?v=1794421146</image:loc>
      <image:title>Build vs buy: modular camera modules for UAV vision payloads</image:title>
      <image:caption>Build vs buy: modular camera modules for UAV vision payloads</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/bin-picking-thin-flexible-parts-like-tubing-with-3d-vision</loc>
    <lastmod>2026-11-11T13:20:43-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-6406ebd553bf082dd352f0cf.jpg?v=1794421243</image:loc>
      <image:title>Bin picking thin flexible parts like tubing with 3D vision</image:title>
      <image:caption>Bin picking thin flexible parts like tubing with 3D vision</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/retrieve-multiple-images-from-the-camera-buffer-for-later-processing</loc>
    <lastmod>2026-11-11T19:19:18-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-dbadc9cb455abe4ce3d668f9.jpg?v=1794421544</image:loc>
      <image:title>Retrieve multiple images from the camera buffer for later processing</image:title>
      <image:caption>Retrieve multiple images from the camera buffer for later processing</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/streaming-raw-frames-with-long-exposures-on-an-embedded-vision-board</loc>
    <lastmod>2026-11-11T17:27:25-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-7aaf0232ebe9fd48018fcbea.jpg?v=1794421634</image:loc>
      <image:title>Streaming raw frames with long exposures on an embedded vision board</image:title>
      <image:caption>Streaming raw frames with long exposures on an embedded vision board</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/why-camera-coordinates-differ-from-robot-coordinates-after-calibration</loc>
    <lastmod>2026-11-11T13:39:34-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-ffd98fa1c4c0d12c206961a6.jpg?v=1794422374</image:loc>
      <image:title>Why camera coordinates differ from robot coordinates after calibration</image:title>
      <image:caption>Why camera coordinates differ from robot coordinates after calibration</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/reduce-wrist-camera-snapshot-time-fix-focus-and-exposure</loc>
    <lastmod>2026-11-11T13:47:01-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-5a46593b6ec04b2342f54911.jpg?v=1794422821</image:loc>
      <image:title>Reduce wrist camera snapshot time: fix focus and exposure</image:title>
      <image:caption>Reduce wrist camera snapshot time: fix focus and exposure</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/develop-3d-inspection-without-hardware-the-record-once-workflow</loc>
    <lastmod>2026-11-11T13:51:31-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-fbacbffaad193287852b787d.jpg?v=1794423091</image:loc>
      <image:title>Develop 3D inspection without hardware: the record-once workflow</image:title>
      <image:caption>Develop 3D inspection without hardware: the record-once workflow</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/vision-camera-to-plc-serial-link-why-ard-reads-no-data</loc>
    <lastmod>2026-11-11T13:52:55-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-4decc8cbd3b4060334a71cd0.jpg?v=1794423175</image:loc>
      <image:title>Vision camera to PLC serial link: why ARD reads no data</image:title>
      <image:caption>Vision camera to PLC serial link: why ARD reads no data</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/dcam-vs-twain-why-a-firewire-camera-port-is-not-protocol-support</loc>
    <lastmod>2026-11-11T13:57:25-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-8fe615b55a2d6c15335fd221.jpg?v=1794423445</image:loc>
      <image:title>DCAM vs TWAIN: why a FireWire camera port is not protocol support</image:title>
      <image:caption>DCAM vs TWAIN: why a FireWire camera port is not protocol support</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/camera-interface-for-a-microcontroller-why-parallel-dvp-beats-csi</loc>
    <lastmod>2026-11-11T14:02:29-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-b3d5ccb1f5936f273da873d1.jpg?v=1794423749</image:loc>
      <image:title>Camera interface for a microcontroller: why parallel DVP beats CSI</image:title>
      <image:caption>Camera interface for a microcontroller: why parallel DVP beats CSI</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/fuse-wheel-odometry-imu-and-visual-odometry-with-an-ekf</loc>
    <lastmod>2026-11-11T14:03:57-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-99d27883600e457f17ae0270.jpg?v=1794423837</image:loc>
      <image:title>Fuse wheel odometry, IMU and visual odometry with an EKF</image:title>
      <image:caption>Fuse wheel odometry, IMU and visual odometry with an EKF</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/teach-pattern-matching-at-final-part-height-to-keep-scale-right</loc>
    <lastmod>2026-11-11T14:08:23-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-6cb44a101ed207c4643b09c5.jpg?v=1794424103</image:loc>
      <image:title>Teach pattern matching at final part height to keep scale right</image:title>
      <image:caption>Teach pattern matching at final part height to keep scale right</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/point-cloud-not-on-robot-base-plane-after-hand-eye-calibration</loc>
    <lastmod>2026-11-11T14:17:29-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-471f9627ed941aada7291354.jpg?v=1794424649</image:loc>
      <image:title>Point cloud not on robot base plane after hand-eye calibration</image:title>
      <image:caption>Point cloud not on robot base plane after hand-eye calibration</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://lumaspecvision.com/blogs/learn/wrist-camera-image-storage-where-frames-live-and-how-to-access-them</loc>
    <lastmod>2026-11-11T14:27:28-05:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1018/5434/7546/articles/learn-share-1efc13b092c77eb13a6a2dc0.jpg?v=1794425248</image:loc>
      <image:title>Wrist camera image storage: where frames live and how to access them</image:title>
      <image:caption>Wrist camera image storage: where frames live and how to access them</image:caption>
    </image:image>
  </url>
</urlset>
