javascript - 使用 opencv.js 的红色免费图像
问题描述
我需要获取图像并提取颜色通道(R、G、B),然后合并绿色和蓝色通道,我做错了什么?(使用 OpenCV.js)
<button type="button" onclick="filter('Aneritra')">Aneritra</button>
<script>
function filter(filter_name){
if(filter_name == 'Aneritra'){
let src = cv.imread('Selected_Image');
let dst = new cv.Mat();
let rgbaPlanes = new cv.MatVector();
// Split the src
cv.split(src, rgbaPlanes);
// Get G channel
let G = rgbaPlanes.get(1);
// Get B channel
let B = rgbaPlanes.get(2);
// Merge G & B channels
cv.merge((G,B), dst);
cv.imshow('canvasOutput', dst);
src.delete();
dst.delete();
rgbaPlanes.delete();
}
}
</script>
解决方案
<script>
function filter(filter_name){
if(filter_name == 'Aneritra'){
let src = cv.imread('Selected_Image');
let dst = new cv.Mat();
let rgbaPlanes = new cv.MatVector();
let mergedPlanes = new cv.MatVector();
// Split the src
cv.split(src, rgbaPlanes);
// Get G channel
let G = rgbaPlanes.get(1);
// Get B channel
let B = rgbaPlanes.get(2);
// Merge G & B channels
mergedPlanes.push_back(G);
mergedPlanes.push_back(B);
cv.merge(mergedPlanes, dst);
cv.imshow('canvasOutput', dst);
// cleanup
src.delete();
dst.delete();
rgbaPlanes.delete();
mergedPlanes.delete();
}
}
</script>
推荐阅读
- ios - Xcode 13 Swift Scroll View Button 没有响应
- javascript - 如何在javascript中重叠时检测图像是否重叠并自动显示/隐藏上图
- python - 在python中使用类时如何解决类型错误?
- javascript - 使用数据库中的数据复制带有 html 表按钮的行
- java - 如何在春季获取具有特定ID的数据
- reactjs - React Native Hook 表单上的 Debounce
- node.js - 我的 mongo 查询每 2-3 分钟变得非常慢
- javascript - 由于周末,Chart.js 时间序列 x 刻度重叠
- java - 无法在 POST 的假冒代码中构建正确的请求
- c# - 静态方法的 MVVM 绑定