Нет, я не знаю встроенной функции. Возможно, что-то может быть, но зачем им писать что-то столь простое? Почему я говорю, что это основной? Предположим, вы сделали прямое сравнение между двумя изображениями?
IM1 == IM2
Цветное изображение - это массив MxNx3, обычно состоящий из значений uint8. Так что этот тест приведет к булевому массиву MxNx3. Если все три канала одинаковы для какого-либо конкретного пикселя, то этот пиксель одинаков. Таким образом, мы применим все к третьему измерению результата выше ...
all(im1 == im2,3)
Это будет массив MxN. Теперь, сколько пикселей было одинаковым? Поскольку все возвращает логический результат, общая сумма этого результата будет считать пиксели, которые были идентичны. Простой способ сформировать общую сумму двумерного массива - это сформировать сумму суммы.
sum(sum(all(im1 == im2,3)))
Теперь вы можете сравнить это число с 30% от общего количества пикселей в изображении. Я дам вам понять, как сделать эту часть.
Привыкайте к построению решения в MATLAB с использованием базовых векторизованных строительных блоков.