nodejs 环境下使用opencv处理图像(一)

一、图片读取

const {imread,imshow,imwrite,waitKey,destroyWindow} =require('opencv4nodejs');
const src = imread('./imge/1.jpg') //读取图片
console.log(src)  //表示矩阵的大小(就是长宽)
console.log(src.sizes)  //表示矩阵的大小(就是长宽)
console.log(src.elemSize)  //表示三种颜色
console.log(src.elemSize*src.sizes[0]*src.sizes[1])//表示图像的大小也就是长*宽*三色
console.log(src.getDataAsArray().length) //这张图片的原始矩阵
imshow('222',src)
imwrite("./55.jpg",src)
waitKey()

二、读取摄像头

const {VideoCapture,imshow,waitKey,destroyWindow} = require('opencv4nodejs')
/*摄像头的设备id,如果只有一个可以写0 表示打开默认的摄像头,也可以是文件路径*/
const Capture =new VideoCapture(0)
 /*循环*/
while (true) {
    /*读取摄像头的最后一帧*/
    let frame = Capture.read();
    /* 图像反转 参数为数值*/
    frame =frame.flip(180)
    /*显示视频*/
    imshow('video',frame)
    /*10m后播放下一帧*/
    waitKey(10)
}
destroyWindow('video')

三、改变图片的颜色

const {imread,imshow,waitKey} = require('opencv4nodejs')
const src = imread('./imge/1.jpg')
const src2 = imread('./imge/2.png')
// console.log(src.getDataAsArray().length)
// console.log(src.getData())
// let bitwies = src.bitwiseNot() //色阶取反
// let bitwies = src.bitwiseOr(src2) //色阶取或
let bitwies = src.bitwiseAnd(src2) //色阶取与
// let bitwies = src.bitwiseAnd(src2) //色阶取异或
imshow('sss',bitwies)
waitKey()

四、自定义三通道图像

const {imread,imshow,waitKey,Mat,CV_8UC3,CV_8UC1,imshowWait} = require('opencv4nodejs')
const rows = 1000; // height
const cols = 1000; // width
// const emptyMat = new Mat(rows, cols, CV_8UC1,255); //  CV_8UC1白色单通道
const emptyMat = new Mat(rows, cols, CV_8UC3,[0,0,255]); // CV_8UC3 三单通道
imshowWait("111",emptyMat)
waitKey()

五、色彩空间

const {imread,imshow,
    waitKey,
    COLOR_RGB2GRAY,
    COLOR_BGR2GRAY, COLOR_BGR2HSV,COLOR_RGB2YUV,
    COLOR_RGB2YCrCb
} =require('opencv4nodejs')
const src  = imread("./1.jpg")
 // const ctvcolor = src.cvtColor(COLOR_RGB2GRAY) /RGB转换为GRAY GRAY是单通道
 const gary = src.cvtColor(COLOR_BGR2GRAY) 
imshow('gary',gary)
const hsv = src.cvtColor(COLOR_BGR2HSV) //RGB转换为HSV
imshow('hsv',hsv)
const yuv = src.cvtColor(COLOR_RGB2YUV) //RGB转换为HSV
imshow('yuv',yuv)
const Ycrcb = src.cvtColor(COLOR_RGB2YCrCb) //RGB转换为YCrCb
imshow('Ycrcb',Ycrcb)
waitKey()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值