Преобразование перспективы изображения с использованием Android OpenCVAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Преобразование перспективы изображения с использованием Android OpenCV

Сообщение Anonymous »

Я создаю приложение для Android, которое может преобразовывать изображение в перспективе.
Я хочу сделать то же самое, что и код ниже.

Я пробовал, но не могу читать Код С. Пожалуйста, посоветуйте мне!

Спасибо,

Шоичи

Пример кода(я хочу сделать)

#include
#include

int
main (int argc, char **argv)
{
IplImage *src_img = 0, *dst_img = 0;
CvMat *map_matrix;
CvPoint2D32f src_pnt[4], dst_pnt[4];

if (argc >= 2)
src_img = cvLoadImage (argv[1], CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR);
if (src_img == 0)
return -1;
dst_img = cvCloneImage (src_img);

src_pnt[0] = cvPoint2D32f (150.0, 150.0);
src_pnt[1] = cvPoint2D32f (150.0, 300.0);
src_pnt[2] = cvPoint2D32f (350.0, 300.0);
src_pnt[3] = cvPoint2D32f (350.0, 150.0);

dst_pnt[0] = cvPoint2D32f (200.0, 200.0);
dst_pnt[1] = cvPoint2D32f (150.0, 300.0);
dst_pnt[2] = cvPoint2D32f (350.0, 300.0);
dst_pnt[3] = cvPoint2D32f (300.0, 200.0);

map_matrix = cvCreateMat (3, 3, CV_32FC1);
cvGetPerspectiveTransform (src_pnt, dst_pnt, map_matrix);

cvWarpPerspective (src_img, dst_img, map_matrix, CV_INTER_LINEAR + CV_WARP_FILL_OUTLIERS, cvScalarAll (100));

cvNamedWindow ("src", CV_WINDOW_AUTOSIZE);
cvNamedWindow ("dst", CV_WINDOW_AUTOSIZE);
cvShowImage ("src", src_img);
cvShowImage ("dst", dst_img);
cvWaitKey (0);

cvDestroyWindow ("src");
cvDestroyWindow ("dst");
cvReleaseImage (&src_img);
cvReleaseImage (&dst_img);
cvReleaseMat (&map_matrix);

return 1;
}


Мой код

@Override
public void onCreate(Bundle savedInstanceState) {
Log.i(TAG, "onCreate");
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
Resources r = getResources();
Bitmap inputBitmap = BitmapFactory.decodeResource(r, R.drawable.icon);

Mat inputMat = Utils.bitmapToMat(inputBitmap);
Mat outputMat = inputMat.clone();

List src_pnt = new ArrayList();
Point p0 = new Point(75.0, 75.0);
src_pnt.add(p0);
Point p1 = new Point(75.0, 100.0);
src_pnt.add(p1);
Point p2 = new Point(100.0, 100.0);
src_pnt.add(p2);
Point p3 = new Point(100.0, 75.0);
src_pnt.add(p3);
Mat startM = Converters.vector_Point2f_to_Mat(src_pnt);

List dst_pnt = new ArrayList();
Point p4 = new Point(75.0, 75.0);
dst_pnt.add(p4);
Point p5 = new Point(75.0, 100.0);
dst_pnt.add(p5);
Point p6 = new Point(100.0, 100.0);
dst_pnt.add(p6);
Point p7 = new Point(100.0, 75.0);
dst_pnt.add(p7);
Mat endM = Converters.vector_Point2f_to_Mat(dst_pnt);

Mat M = new Mat(3, 3, CvType.CV_32F);
Core.perspectiveTransform(startM, endM, M);

Size size = new Size(200.0, 200.0);
Scalar scalar = new Scalar(50.0);

Imgproc.warpPerspective(inputMat, outputMat, M, size, Imgproc.INTER_LINEAR + Imgproc.CV_WARP_FILL_OUTLIERS, Imgproc.BORDER_DEFAULT, scalar);

Bitmap outputBitmap = inputBitmap;
Utils.matToBitmap(outputMat, outputBitmap);
ImageView imageView1 = (ImageView) findViewById(R.id.imageView1);
imageView1.setImageBitmap(outputBitmap);

}


Подробнее здесь: https://stackoverflow.com/questions/932 ... oid-opencv
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Преобразование перспективы изображения с использованием Android OpenCV
    Anonymous » » в форуме Android
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Преобразование перспективы с высоты птичьего полета из калибровки камеры opencv python
    Гость » » в форуме Python
    0 Ответы
    53 Просмотры
    Последнее сообщение Гость
  • Аффинное преобразование для «изменения перспективы» изображения.
    Anonymous » » в форуме Python
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Аффинное преобразование для «изменения перспективы» изображения [закрыто]
    Anonymous » » в форуме Python
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Аффинное преобразование для «изменения перспективы» изображения [закрыто]
    Anonymous » » в форуме Python
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous

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