我无法使用connectedComponents函数。
const uint16_t* depth_frame_data = (const uint16_t*)(rs2_get_frame_data(frame, &e));
Mat image(Size(WIDTH, HEIGHT), CV_16UC1, (void *)depth_frame_data, Mat::AUTO_STEP);
threshold(image, image_th, one_meter, 255, THRESH_BINARY_INV);我认为这对connectedComponents来说已经足够了,但我刚刚意识到我应该输入二进制矩阵:
Mat image_bin(image_th, true);
image_bin.convertTo(image_bin, CV_8U, 0.00390625);但当我建造的时候,
OpenCV(3.4.2)错误:断言失败.
发布于 2018-07-27 05:20:01
用另一个函数解决了这个问题。
Mat image_grayscale = image.clone();
image_grayscale.convertTo(image_grayscale, CV_8U, 1 / 256.0);我猜克隆有问题
发布于 2018-07-27 06:24:14
将8位图像转换为16位图像
image_16bit = image_8bit * 257 ;16位图像到8位图像
image_8bit = image_16bit / 257 ;希望这能帮上忙谢谢。
https://stackoverflow.com/questions/51549624
复制相似问题