Подавить сообщение stdout из библиотеки C/C++Python

Программы на Python
Anonymous
Подавить сообщение stdout из библиотеки C/C++

Сообщение Anonymous »

Я пытаюсь подавить сообщение, которое выводится на стандартный вывод с помощью библиотеки, реализованной на C.
Мой конкретный вариант использования — OpenCV, поэтому я буду использовать его для MCVE ниже. Функция AssessmentChessboardSharpness выводит распечатку, когда размер сетки слишком мал (что и происходит здесь). Я сделал пиар, чтобы это исправить, но пока мне хотелось бы скрыть это сообщение. Например:

Код: Выделить всё

import numpy as np

img = np.zeros((512, 640), dtype='uint8')
corners = []
for i in range(10):
for j in range(8):
corner = (30 + 3 * j, 70 + 3 * i)
if i and j:
corners.append(corner)
if (i % 2) ^ (j % 2):
img[corner[0]:corner[0] + 3, corner[1]:corner[1] + 3] = 255

Код: Выделить всё

>>> cv2.estimateChessboardSharpness(img, (9, 7), corners)
calcEdgeSharpness: checkerboard too small for calculation.
((9999.0, 9999.0, 9999.0, 9999.0), None)
Эта строка выглядит как простой std::cout

Подробнее здесь: https://stackoverflow.com/questions/787 ... -c-library

Вернуться в «Python»