Search Unity

Unity 4 + Vuforia + iOS camera resolution problem

Discussion in 'iOS and tvOS' started by gnatok, Nov 21, 2012.

  1. gnatok

    gnatok

    Joined:
    Aug 17, 2012
    Posts:
    2
    Hello there.

    I created one app with Unity 4 + Vuforia SDK. I will use it in plastic surgery.

    The biggest goal for me is ability to take high resolution pictures of patients with ARCamera and send it to the server.

    All parts of app is ready exсept this one.

    The biggest resolution of photo that i could take is 640x480 even with MODE_OPTIMIZE_QUALITY...

    small log(iphone 5):

    RGB888 image:

    size: 640x480

    bufferSize: 640x480

    stride: 1920 Pixel Count = 921600

    Question. Can get bigger photo resolution only for taking pictures?
     
  2. svenskefan

    svenskefan

    Joined:
    Nov 26, 2008
    Posts:
    282
    Hi!
    You will be using the video camera on the iPhone.
    Don´t know what real resolution the video camera has, but I was under the impression you would get a 1:1 pixel corresponding to the screen resolution, if that makes any sense to you?

    In other words, I think you should be able to get 1136*640.

    How are you capturing the screen?

    N
     
  3. gnatok

    gnatok

    Joined:
    Aug 17, 2012
    Posts:
    2
    With standard simple method - with Texture2D.

    Texture2D photo = new Texture2D(Screen.width, Screen.height, TextureFormat.RGB24, false);
    photo.ReadPixels(new Rect(0,0,Screen.width,Screen.height),0,0);
    photo.Apply();
     
  4. fcasad

    fcasad

    Joined:
    Jan 10, 2013
    Posts:
    4
    Did you manage to get a higher resolution now?
    I need a solution for that too.
     
  5. GMM

    GMM

    Joined:
    Sep 24, 2012
    Posts:
    301
    What exactly are you trying to achieve?

    Do you only want to take a picture(normal picture), or do you want to take a picture along with something you have augmented?
     
  6. fcasad

    fcasad

    Joined:
    Jan 10, 2013
    Posts:
    4
    I realize I entered into a post which was not really my issue.
    Personnaly, I'm trying to display to the user a higher resolution than the 640x480 that I can get, even in the MODE_OPTIMIZE_QUALITY. My application target is mostly new iPad 3 and asus TF300T 3,1,10 on android 4,1,1.
    It's also a medical application and video quality is really important for users.

    I tried to open the camera device in parrallel using webcamtexture, but obviously, once vuforia opened the device, it's no more possible to get another video resolution from the camera.

    Please, can you confirm me:
    For my understanding, Vuforia is using a camera resolution which is not too low and not too high for its own computing. Then as developper, we can't get a higher resolution than the higher resolution supported by Vuforia using MODE_OPTIMIZE_QUALITY. I can understand that it's for performance reasons, but I'm not sure yet that they are ways to display the highest resolution (720p) as a texture. I'll be happy and will stop investigating if I have a confirmation of this.


    Furthermore, I'm adding a custom shader as shown in the vuforia-backgroundtextureaccess sample in order to change the display according my application. The video from live camera is displayed on full screen throught an orthographic camera. Then, the 680x480 is displayed throught a 1024xxxxx texture and then on a tablet full screen as iPad or android tabler. The result is clearly not perfect.
    Are they possiblities to display a higher resolution while AR computing are done on a lower one?