Преобразование Хаара это свертка сигнала с вейвлетом Хаара и масштабирующей функцией. https://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%B9%D...
Преобразование Хаара соотносится с вейвлетом Хаара примерно так же, как и преобразование Фурье соотносится к функции синуса.
Используйте cv2.getPerspectiveTransform для нахождения матрицы преобразования по 4 парам точек (углы). А затем cv2.warpPerspective для, собственно преобразования картинки.
Также вместо OpenCV можно использовать Imagemagick.
Наверное как-то так:
1.Прочитать и декодировать файл mp3
2. Взять отсчеты через один.
3. Кодировать и записать файл.
В итоге вы должны получить ускоренный в 2 раза аудиофайл.
Насколько я понимаю, стандартные методы выдают кортежи с x,y,w,h.
Дальше можно сделать бинаризацию(или выделение границ) найденных прямоугольников и поискать с помощью Хафа круги(окружности).
Да легко, при вращении через warpAffine установить BorderTypes в нужный тип.
Например:
cv.warpAffine(src, dst, M, dsize, cv.INTER_LINEAR, cv.BORDER_REFLECT, new cv.Scalar());
Тут можете потренироваться на Лене: https://docs.opencv.org/3.4/dd/d52/tutorial_js_geo...
rect := image.Rect(minX, minY, maxX, maxY)
заменить на
rect := image.Rect(minX, minY, minX+inputImg.Cols(), minY+inputImg.Rows())
или тоже самое в расчете maxX/Y