vsalchenkoovhi36
01.06.2023 00:13

Здравствуйте!Я делаю распознование лиц на освнове opencv.И у меня есть код import cv2
face_cascade_db=cv2.CascadeClassifier(cv2.data.haarcascades+"haarcascade_frontalface_default")

img=cv2.imread("imgElon.jpg")
img_grey=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

cv2.imshow('rez',img_grey)
который выдаёт ошибку
Traceback (most recent call last):
File "C:\Users\Даниил\PycharmProjects\opencv_face_recognition\main.py", line 5, in
img_grey=cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)
cv2.error: OpenCV(4.5.5) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'
Как её решить?

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
lАндрей
18.12.2020 10:02
Ну раз никто не решился, а может не захотел возиться, покажу я вам динозавра!
У меня когда-то была программа на QBASIC. (Первая личный комп вначале был без жёсткого диска. Под DOS грузили с дискеты. И там этот мелкий интерпретатор (ок 190 кБайт) был неплохим подспорьем.)
 Программа сохранилась. Она изначально только график рисовала. Потом я её дополнял. В том числе и решением уравнений вилкой. Было несколько версий Функцию я по-быстрому заменил на  требуемую в задаче. Перелопачивать и выяснять полностью состояние программы не стал.
  За требуемую точность не поручусь. Но 4-6 знаков после запятой выдам. Это был "Полуавтоматический" вариант с прорисовкой графика. Красной линией прочерчивалась прямая y=0. График можно было перерисовывать, задавая новые пределы изменения переменной х. Глядя на график можно было определить исходные отрезки для запуска метода вилки.
На скринах, естественно, проблемы с кириллицей. (Ненастроенный DosBox) Но текст программы загнал в pdf. Там можно прочесть все надписи.

На 3-м снимке видно, что, потребовав точность 10^{-12}, я получил ответ, отличающийся от ответа МАСТЕРА. Я так думаю, что у меня не все переменные, требуемые для расчёта объявлены с двойной точностью. (Изначально таких там вообще не было). Но 7 знаков после запятой в ответе совпадают. :) А может это ограничение демоверсии QBASIC интерпретатора.

x_1 \approx -3,1203 \\ \\ x_2 \approx -2,77171

Требуется найти все корни уравнения с точностью не ниже 10⁻¹². уравнение имеет вид вот решение на pa
Требуется найти все корни уравнения с точностью не ниже 10⁻¹². уравнение имеет вид вот решение на pa
Требуется найти все корни уравнения с точностью не ниже 10⁻¹². уравнение имеет вид вот решение на pa
0,0(0 оценок)
Ответ:
Lizevette
19.03.2022 16:08
int n = in.nextInt();
int[] a = new int[n];
a[0] = in.nextInt();
int min = a[0];
int minS = min;
for (int i = 1; i < n; i++) {
a[i] = in.nextInt();
if (a[i] < min) min = a[i];
}
for (int i = 1; i < n; i++) {
if (a[i] < minS && a[i] != min) minS = a[i];
}
System.out.println(min + " " + minS);
На всякий случай объясню еще так.
Изначально двум минимумам мы присваиваем значение первого элемента.
В первом цикле ты ищешь первый минимум, тут всё понятно: со второго элемента массива, если элемент меньше минимума, то минимуму присваиваем значение элемента.
Во втором цикле мы ищем второй минимум: всё то же самое, только добавляется ещё одно условие: элемент должен быть не равен первому минимуму.
Вот, впринципе, и всё
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота