相关疑难解决方法(0)

使用 cv2 VideoWriter 编写 numpy 数组

我在使用 opencv2.3.1 VideoWriter 编写玩具示例视频时遇到问题,这是我的做法:

writer = cv2.VideoWriter('test1.avi',cv.CV_FOURCC('P','I','M','1'),25,(640,480))
for i in range(1000):
    x = np.random.randint(10,size=(480,640)).astype('uint8')
    writer.write(x)
#del writer (with or without tested)
Run Code Online (Sandbox Code Playgroud)

如果扩展名是 mpg,我尝试了所有可能的组合,结果是 0 字节的文件,如果是 avi,则是 5.5kb。我应该说有些人指出我应该从源代码构建 ffmpeg 库,而不是 apt-get 它。好吧,我在本网站http://vinayhacks.blogspot.com/2011/11/installing-opencv-231-with-ffmpeg-on-64.html的帮助下在一台新机器上做到了这一点 。编译opencv时也出现错误(该错误与ffmpeg有关)。现在我真的没有想法了,如何使用 OPENCV 生成视频?

提前致谢

python opencv ffmpeg numpy x264

9
推荐指数
3
解决办法
2万
查看次数

python + opencv - 如何绘制hsv范围?

为了提取颜色,我们有这个功能

# define range of blue color in HSV
lower_blue = np.array([110,50,50])
upper_blue = np.array([130,255,255])

# Threshold the HSV image to get only blue colors
mask = cv2.inRange(hsv, lower_blue, upper_blue)
Run Code Online (Sandbox Code Playgroud)

我们如何实际可视化我在hsv空间定义的范围(lower_blue,upper_blue)?另外我如何实际绘制hsv颜色,但它不起作用......?我有这个代码:

upper = np.array([60, 255, 255])
upper = cv2.cvtColor(upper, cv2.COLOR_HSV2BGR)


upper = totuple(upper/-255)
print(upper)
plt.imshow([[upper]])
Run Code Online (Sandbox Code Playgroud)

python opencv

2
推荐指数
1
解决办法
5368
查看次数

openCV 中 BROWN 颜色的 HSV 值范围是多少?

我是 openCV 的新手。我已经能够用蒙版计算图像的绿色和黄色像素。我想知道openCV中Brown的HSV范围是多少。

    private void testBrownPixelCount(Mat originalMat) {
    if(isMatEmpty(originalMat)){
        Log.i(TAG, "Empty Original Mat at testBrownPixCoutn()");
    }else{
        //Perform:
        Mat maskMat = Imgcodecs.imread(testFilePath);
        Mat bgr = new Mat();
        Imgproc.cvtColor(maskMat, bgr, Imgproc.COLOR_BGR2RGB);
        Mat maskMatHsv = new Mat();
        Imgproc.cvtColor(bgr, maskMatHsv , Imgproc.COLOR_RGB2HSV);

        //iF NOt; use RGB2HSV:
        Mat brownMat = new Mat();
        Scalar min_brown = new Scalar(20,100,100);
        Scalar max_brown = new Scalar(30,255,255);
        Core.inRange(maskMatHsv, min_brown, max_brown, brownMat);
        Log.i(TAG, "Brown Mat Non-zeros:" + Core.countNonZero(brownMat));

        Bitmap bitmapMat = Bitmap.createBitmap(brownMat.cols(), brownMat.rows(), Bitmap.Config.ARGB_8888);
        Utils.matToBitmap(brownMat, bitmapMat);
        imgView_testView.setImageBitmap(bitmapMat);

    }
Run Code Online (Sandbox Code Playgroud)

结果是黑色的imageView,它甚至无法检测到黄色的。

java android opencv image-processing

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

opencv ×3

python ×2

android ×1

ffmpeg ×1

image-processing ×1

java ×1

numpy ×1

x264 ×1