Opencv:观察阈值ROI内的像素值,其中某些值不同于0和255

时间:2019-05-28 10:49:48

标签: python opencv image-processing video-processing

我已对视频帧中的关注区域应用了阈值。看来效果很好,结果如下:

threshold

我通过鼠标回调函数标记了ROI,然后只需通过以下两行代码获取阈值:

<input type="radio" data="cool" name="cool" checked="checked">
<input type="radio" data="cool" name="cool">
<input type="radio" data="cool" name="cool">

,其中pt1是矩形的左上角,而+3只是为了确保我采用矩形内部而不是矩形边界上的阈值。

我还在车轮内部绘制了一个圆拱形(也可以在图中看到)。这是通过my other question中提供的代码实现的。

现在,我正在观察绘制的拱形下方的圆形拱形上的点。这些点在阈值之内,因此它们的值应仅为0或255:

@GET
@Path("/big-response")
@Produces(MediaType.APPLICATION_JSON)
@ApiOperation(value = "Provides Json information about some etities")
@ApiResponses(value = {
        @ApiResponse(code = 200, message = "Transfer successful"),
        @ApiResponse(code = 400, message = "Bad request"),
        @ApiResponse(code = 500, message = "Internal server error")})
public void retrieveTheData() {

输出的txt文件不包含任何0。但是有一些空白,因此可能算作0?

ret_thresh, thresh = cv2.threshold(ROI, 80, 255, cv2.THRESH_BINARY)
    gray_frame[pt1[1]+3:pt1[1]+rect_height, pt1[0]+3:pt1[0]+rect_width] = thresh

也:每当我的框架访问失败时添加错误消息时:

frameCount += 1
    currentTimestamp = timestamp + frameCount/fps 
    file = open("myFile.txt", "a+") 
    file.write(str(currentTimestamp))
    circleSegment = get_circle_segment(center_pt, 60, 72//2) #center_pt has been specified via mouse callback, radius is 60 px, radius of drawn arch is 70px
    for el in circleSegment: 
        pixel = gray_frame[el[1]][el[0]] #coordinates are (x,y). But accessing an image is always: first y-coordinates (rows) and then x-coordinates (columns)
        #log information
        file.write('\t' + str(pixel))
    file.write('\n')
    file.close()

在我的终端上打印了一些错误消息。因此,我认为图像索引存在问题。 但是我真的看不到this code的问题。

0 个答案:

没有答案