Repository files navigation

To run on Viam

Follow step-by-step instructions in this tutorial: Use a QR code scanner.

Screenshot 2024-10-30 at 11 08 13 AM

QR code scanner

This module implements the rdk vision API in a joyce:vision:pyzbar model.

With this model, you can manage a vision service to detect and decode QR codes.

Build and Run

To use this module, follow these instructions to add a module from the Viam Registry and select the joyce:vision:pyzbar model from the pyzbar module.

Configure your service

Note

Before configuring your sensor, you must create a machine.

  • Navigate to the CONFIGURE tab of your robot’s page in the Viam app.
  • Click on the + icon in the left-hand menu and select Service.
  • Select the vision type, then select the pyzbar module.
  • Enter a name for your vision service and click Create.

Note

For more information, see Configure a Robot.


To run locally

This project uses the Viam Python SDK to capture images from a Viam robot camera, detect QR codes in the image using Pyzbar, and display the results using OpenCV.

Get Started

  • Install dependencies using pip install -r requirements.txt.
  • Configure environment variables using a .env file.
  • Run the script using python script.py.

Prerequisites

  • Python 3.8 or higher installed on your system.
  • A working Viam robot with a camera configured.
  • Internet access to install required packages.

1. Clone the Repository

git clone <repository-url>cd<repository-directory>

2. Set Up a Python Virtual Environment

Use a virtual environment to manage dependencies. You can create and activate one as follows:

On macOS/Linux:

python3 -m venv venv
source venv/bin/activate

On Windows:

python -m venv venv
venv\Scripts\activate

3. Install Dependencies

Once the virtual environment is activated, install the required Python packages listed in requirements.txt by running:

pip install -r requirements.txt

The dependencies include:

4. Set Up Environment Variables

Create a .env file in the root directory and add the following environment variables:

ROBOT_API_KEY=<your_robot_api_key>
ROBOT_API_KEY_ID=<your_robot_api_key_id>
ROBOT_ADDRESS=<your_robot_address>

Replace <your_robot_api_key>, <your_robot_api_key_id>, and <your_robot_address> with the appropriate values for your Viam robot from the Viam app.

5. Run the Script

Once the dependencies are installed and the environment variables are configured, you can run the script using:

python script.py

This will connect to your Viam robot camera, capture images, and detect QR codes in the live feed. Then press the q key to exit the live feed window.

About

Detect QR codes on a Viam camera using Pyzbar and OpenCV

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

To run on Viam

Follow step-by-step instructions in this tutorial: Use a QR code scanner.

Screenshot 2024-10-30 at 11 08 13 AM

QR code scanner

This module implements the rdk vision API in a joyce:vision:pyzbar model.

With this model, you can manage a vision service to detect and decode QR codes.

Build and Run

To use this module, follow these instructions to add a module from the Viam Registry and select the joyce:vision:pyzbar model from the pyzbar module.

Configure your service

Note

Before configuring your sensor, you must create a machine.

  • Navigate to the CONFIGURE tab of your robot’s page in the Viam app.
  • Click on the + icon in the left-hand menu and select Service.
  • Select the vision type, then select the pyzbar module.
  • Enter a name for your vision service and click Create.

Note

For more information, see Configure a Robot.


To run locally

This project uses the Viam Python SDK to capture images from a Viam robot camera, detect QR codes in the image using Pyzbar, and display the results using OpenCV.

Get Started

  • Install dependencies using pip install -r requirements.txt.
  • Configure environment variables using a .env file.
  • Run the script using python script.py.

Prerequisites

  • Python 3.8 or higher installed on your system.
  • A working Viam robot with a camera configured.
  • Internet access to install required packages.

1. Clone the Repository

git clone <repository-url>cd<repository-directory>

2. Set Up a Python Virtual Environment

Use a virtual environment to manage dependencies. You can create and activate one as follows:

On macOS/Linux:

python3 -m venv venv
source venv/bin/activate

On Windows:

python -m venv venv
venv\Scripts\activate

3. Install Dependencies

Once the virtual environment is activated, install the required Python packages listed in requirements.txt by running:

pip install -r requirements.txt

The dependencies include:

4. Set Up Environment Variables

Create a .env file in the root directory and add the following environment variables:

ROBOT_API_KEY=<your_robot_api_key>
ROBOT_API_KEY_ID=<your_robot_api_key_id>
ROBOT_ADDRESS=<your_robot_address>

Replace <your_robot_api_key>, <your_robot_api_key_id>, and <your_robot_address> with the appropriate values for your Viam robot from the Viam app.

5. Run the Script

Once the dependencies are installed and the environment variables are configured, you can run the script using:

python script.py

This will connect to your Viam robot camera, capture images, and detect QR codes in the live feed. Then press the q key to exit the live feed window.

About

Detect QR codes on a Viam camera using Pyzbar and OpenCV

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

To run on Viam

Follow step-by-step instructions in this tutorial: Use a QR code scanner.

Screenshot 2024-10-30 at 11 08 13 AM

QR code scanner

This module implements the rdk vision API in a joyce:vision:pyzbar model.

With this model, you can manage a vision service to detect and decode QR codes.

Build and Run

To use this module, follow these instructions to add a module from the Viam Registry and select the joyce:vision:pyzbar model from the pyzbar module.

Configure your service

Note

Before configuring your sensor, you must create a machine.

  • Navigate to the CONFIGURE tab of your robot’s page in the Viam app.
  • Click on the + icon in the left-hand menu and select Service.
  • Select the vision type, then select the pyzbar module.
  • Enter a name for your vision service and click Create.

Note

For more information, see Configure a Robot.


To run locally

This project uses the Viam Python SDK to capture images from a Viam robot camera, detect QR codes in the image using Pyzbar, and display the results using OpenCV.

Get Started

  • Install dependencies using pip install -r requirements.txt.
  • Configure environment variables using a .env file.
  • Run the script using python script.py.

Prerequisites

  • Python 3.8 or higher installed on your system.
  • A working Viam robot with a camera configured.
  • Internet access to install required packages.

1. Clone the Repository

git clone <repository-url>cd<repository-directory>

2. Set Up a Python Virtual Environment

Use a virtual environment to manage dependencies. You can create and activate one as follows:

On macOS/Linux:

python3 -m venv venv
source venv/bin/activate

On Windows:

python -m venv venv
venv\Scripts\activate

3. Install Dependencies

Once the virtual environment is activated, install the required Python packages listed in requirements.txt by running:

pip install -r requirements.txt

The dependencies include:

4. Set Up Environment Variables

Create a .env file in the root directory and add the following environment variables:

ROBOT_API_KEY=<your_robot_api_key>
ROBOT_API_KEY_ID=<your_robot_api_key_id>
ROBOT_ADDRESS=<your_robot_address>

Replace <your_robot_api_key>, <your_robot_api_key_id>, and <your_robot_address> with the appropriate values for your Viam robot from the Viam app.

5. Run the Script

Once the dependencies are installed and the environment variables are configured, you can run the script using:

python script.py

This will connect to your Viam robot camera, capture images, and detect QR codes in the live feed. Then press the q key to exit the live feed window.

About

Detect QR codes on a Viam camera using Pyzbar and OpenCV

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

To run on Viam

Follow step-by-step instructions in this tutorial: Use a QR code scanner.

Screenshot 2024-10-30 at 11 08 13 AM

QR code scanner

This module implements the rdk vision API in a joyce:vision:pyzbar model.

With this model, you can manage a vision service to detect and decode QR codes.

Build and Run

To use this module, follow these instructions to add a module from the Viam Registry and select the joyce:vision:pyzbar model from the pyzbar module.

Configure your service

Note

Before configuring your sensor, you must create a machine.

  • Navigate to the CONFIGURE tab of your robot’s page in the Viam app.
  • Click on the + icon in the left-hand menu and select Service.
  • Select the vision type, then select the pyzbar module.
  • Enter a name for your vision service and click Create.

Note

For more information, see Configure a Robot.


To run locally

This project uses the Viam Python SDK to capture images from a Viam robot camera, detect QR codes in the image using Pyzbar, and display the results using OpenCV.

Get Started

  • Install dependencies using pip install -r requirements.txt.
  • Configure environment variables using a .env file.
  • Run the script using python script.py.

Prerequisites

  • Python 3.8 or higher installed on your system.
  • A working Viam robot with a camera configured.
  • Internet access to install required packages.

1. Clone the Repository

git clone <repository-url>cd<repository-directory>

2. Set Up a Python Virtual Environment

Use a virtual environment to manage dependencies. You can create and activate one as follows:

On macOS/Linux:

python3 -m venv venv
source venv/bin/activate

On Windows:

python -m venv venv
venv\Scripts\activate

3. Install Dependencies

Once the virtual environment is activated, install the required Python packages listed in requirements.txt by running:

pip install -r requirements.txt

The dependencies include:

4. Set Up Environment Variables

Create a .env file in the root directory and add the following environment variables:

ROBOT_API_KEY=<your_robot_api_key>
ROBOT_API_KEY_ID=<your_robot_api_key_id>
ROBOT_ADDRESS=<your_robot_address>

Replace <your_robot_api_key>, <your_robot_api_key_id>, and <your_robot_address> with the appropriate values for your Viam robot from the Viam app.

5. Run the Script

Once the dependencies are installed and the environment variables are configured, you can run the script using:

python script.py

This will connect to your Viam robot camera, capture images, and detect QR codes in the live feed. Then press the q key to exit the live feed window.

About

Detect QR codes on a Viam camera using Pyzbar and OpenCV

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

To run on Viam

Follow step-by-step instructions in this tutorial: Use a QR code scanner.

Screenshot 2024-10-30 at 11 08 13 AM

QR code scanner

This module implements the rdk vision API in a joyce:vision:pyzbar model.

With this model, you can manage a vision service to detect and decode QR codes.

Build and Run

To use this module, follow these instructions to add a module from the Viam Registry and select the joyce:vision:pyzbar model from the pyzbar module.

Configure your service

Note

Before configuring your sensor, you must create a machine.

  • Navigate to the CONFIGURE tab of your robot’s page in the Viam app.
  • Click on the + icon in the left-hand menu and select Service.
  • Select the vision type, then select the pyzbar module.
  • Enter a name for your vision service and click Create.

Note

For more information, see Configure a Robot.


To run locally

This project uses the Viam Python SDK to capture images from a Viam robot camera, detect QR codes in the image using Pyzbar, and display the results using OpenCV.

Get Started

  • Install dependencies using pip install -r requirements.txt.
  • Configure environment variables using a .env file.
  • Run the script using python script.py.

Prerequisites

  • Python 3.8 or higher installed on your system.
  • A working Viam robot with a camera configured.
  • Internet access to install required packages.

1. Clone the Repository

git clone <repository-url>cd<repository-directory>

2. Set Up a Python Virtual Environment

Use a virtual environment to manage dependencies. You can create and activate one as follows:

On macOS/Linux:

python3 -m venv venv
source venv/bin/activate

On Windows:

python -m venv venv
venv\Scripts\activate

3. Install Dependencies

Once the virtual environment is activated, install the required Python packages listed in requirements.txt by running:

pip install -r requirements.txt

The dependencies include:

4. Set Up Environment Variables

Create a .env file in the root directory and add the following environment variables:

ROBOT_API_KEY=<your_robot_api_key>
ROBOT_API_KEY_ID=<your_robot_api_key_id>
ROBOT_ADDRESS=<your_robot_address>

Replace <your_robot_api_key>, <your_robot_api_key_id>, and <your_robot_address> with the appropriate values for your Viam robot from the Viam app.

5. Run the Script

Once the dependencies are installed and the environment variables are configured, you can run the script using:

python script.py

This will connect to your Viam robot camera, capture images, and detect QR codes in the live feed. Then press the q key to exit the live feed window.

About

Detect QR codes on a Viam camera using Pyzbar and OpenCV

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

To run on Viam

Follow step-by-step instructions in this tutorial: Use a QR code scanner.

Screenshot 2024-10-30 at 11 08 13 AM

QR code scanner

This module implements the rdk vision API in a joyce:vision:pyzbar model.

With this model, you can manage a vision service to detect and decode QR codes.

Build and Run

To use this module, follow these instructions to add a module from the Viam Registry and select the joyce:vision:pyzbar model from the pyzbar module.

Configure your service

Note

Before configuring your sensor, you must create a machine.

  • Navigate to the CONFIGURE tab of your robot’s page in the Viam app.
  • Click on the + icon in the left-hand menu and select Service.
  • Select the vision type, then select the pyzbar module.
  • Enter a name for your vision service and click Create.

Note

For more information, see Configure a Robot.


To run locally

This project uses the Viam Python SDK to capture images from a Viam robot camera, detect QR codes in the image using Pyzbar, and display the results using OpenCV.

Get Started

  • Install dependencies using pip install -r requirements.txt.
  • Configure environment variables using a .env file.
  • Run the script using python script.py.

Prerequisites

  • Python 3.8 or higher installed on your system.
  • A working Viam robot with a camera configured.
  • Internet access to install required packages.

1. Clone the Repository

git clone <repository-url>cd<repository-directory>

2. Set Up a Python Virtual Environment

Use a virtual environment to manage dependencies. You can create and activate one as follows:

On macOS/Linux:

python3 -m venv venv
source venv/bin/activate

On Windows:

python -m venv venv
venv\Scripts\activate

3. Install Dependencies

Once the virtual environment is activated, install the required Python packages listed in requirements.txt by running:

pip install -r requirements.txt

The dependencies include:

4. Set Up Environment Variables

Create a .env file in the root directory and add the following environment variables:

ROBOT_API_KEY=<your_robot_api_key>
ROBOT_API_KEY_ID=<your_robot_api_key_id>
ROBOT_ADDRESS=<your_robot_address>

Replace <your_robot_api_key>, <your_robot_api_key_id>, and <your_robot_address> with the appropriate values for your Viam robot from the Viam app.

5. Run the Script

Once the dependencies are installed and the environment variables are configured, you can run the script using:

python script.py

This will connect to your Viam robot camera, capture images, and detect QR codes in the live feed. Then press the q key to exit the live feed window.

About

Detect QR codes on a Viam camera using Pyzbar and OpenCV

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

To run on Viam

Follow step-by-step instructions in this tutorial: Use a QR code scanner.

Screenshot 2024-10-30 at 11 08 13 AM

QR code scanner

This module implements the rdk vision API in a joyce:vision:pyzbar model.

With this model, you can manage a vision service to detect and decode QR codes.

Build and Run

To use this module, follow these instructions to add a module from the Viam Registry and select the joyce:vision:pyzbar model from the pyzbar module.

Configure your service

Note

Before configuring your sensor, you must create a machine.

  • Navigate to the CONFIGURE tab of your robot’s page in the Viam app.
  • Click on the + icon in the left-hand menu and select Service.
  • Select the vision type, then select the pyzbar module.
  • Enter a name for your vision service and click Create.

Note

For more information, see Configure a Robot.


To run locally

This project uses the Viam Python SDK to capture images from a Viam robot camera, detect QR codes in the image using Pyzbar, and display the results using OpenCV.

Get Started

  • Install dependencies using pip install -r requirements.txt.
  • Configure environment variables using a .env file.
  • Run the script using python script.py.

Prerequisites

  • Python 3.8 or higher installed on your system.
  • A working Viam robot with a camera configured.
  • Internet access to install required packages.

1. Clone the Repository

git clone <repository-url>cd<repository-directory>

2. Set Up a Python Virtual Environment

Use a virtual environment to manage dependencies. You can create and activate one as follows:

On macOS/Linux:

python3 -m venv venv
source venv/bin/activate

On Windows:

python -m venv venv
venv\Scripts\activate

3. Install Dependencies

Once the virtual environment is activated, install the required Python packages listed in requirements.txt by running:

pip install -r requirements.txt

The dependencies include:

4. Set Up Environment Variables

Create a .env file in the root directory and add the following environment variables:

ROBOT_API_KEY=<your_robot_api_key>
ROBOT_API_KEY_ID=<your_robot_api_key_id>
ROBOT_ADDRESS=<your_robot_address>

Replace <your_robot_api_key>, <your_robot_api_key_id>, and <your_robot_address> with the appropriate values for your Viam robot from the Viam app.

5. Run the Script

Once the dependencies are installed and the environment variables are configured, you can run the script using:

python script.py

This will connect to your Viam robot camera, capture images, and detect QR codes in the live feed. Then press the q key to exit the live feed window.

About

Detect QR codes on a Viam camera using Pyzbar and OpenCV

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

To run on Viam

Follow step-by-step instructions in this tutorial: Use a QR code scanner.

Screenshot 2024-10-30 at 11 08 13 AM

QR code scanner

This module implements the rdk vision API in a joyce:vision:pyzbar model.

With this model, you can manage a vision service to detect and decode QR codes.

Build and Run

To use this module, follow these instructions to add a module from the Viam Registry and select the joyce:vision:pyzbar model from the pyzbar module.

Configure your service

Note

Before configuring your sensor, you must create a machine.

  • Navigate to the CONFIGURE tab of your robot’s page in the Viam app.
  • Click on the + icon in the left-hand menu and select Service.
  • Select the vision type, then select the pyzbar module.
  • Enter a name for your vision service and click Create.

Note

For more information, see Configure a Robot.


To run locally

This project uses the Viam Python SDK to capture images from a Viam robot camera, detect QR codes in the image using Pyzbar, and display the results using OpenCV.

Get Started

  • Install dependencies using pip install -r requirements.txt.
  • Configure environment variables using a .env file.
  • Run the script using python script.py.

Prerequisites

  • Python 3.8 or higher installed on your system.
  • A working Viam robot with a camera configured.
  • Internet access to install required packages.

1. Clone the Repository

git clone <repository-url>cd<repository-directory>

2. Set Up a Python Virtual Environment

Use a virtual environment to manage dependencies. You can create and activate one as follows:

On macOS/Linux:

python3 -m venv venv
source venv/bin/activate

On Windows:

python -m venv venv
venv\Scripts\activate

3. Install Dependencies

Once the virtual environment is activated, install the required Python packages listed in requirements.txt by running:

pip install -r requirements.txt

The dependencies include:

4. Set Up Environment Variables

Create a .env file in the root directory and add the following environment variables:

ROBOT_API_KEY=<your_robot_api_key>
ROBOT_API_KEY_ID=<your_robot_api_key_id>
ROBOT_ADDRESS=<your_robot_address>

Replace <your_robot_api_key>, <your_robot_api_key_id>, and <your_robot_address> with the appropriate values for your Viam robot from the Viam app.

5. Run the Script

Once the dependencies are installed and the environment variables are configured, you can run the script using:

python script.py

This will connect to your Viam robot camera, capture images, and detect QR codes in the live feed. Then press the q key to exit the live feed window.

About

Detect QR codes on a Viam camera using Pyzbar and OpenCV

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages