Page 3 of 4

Re: StreetView Grabber (Updated v1.6)

Posted: Fri Oct 10, 2014 7:50 pm
by Olby
@manuel7 - Thanks. I glanced over the code and it looks as it could be easily translated to PB, however I don't have much time these days (last year of uni). It has landed on my ToDo list, at least for now.
  • ; TODO: Add support for exe parameters to open an existing pano by drag and drop
    ; TODO: Add a checkbox to render the pano as a 6 sided cube map
    ; TODO: Depth map rendering

Re: StreetView Grabber (Updated v1.6)

Posted: Wed Apr 22, 2015 1:01 am
by Ftor
Too bad the source code isn't available.
It would be useful to be sure that this software is free from any malware.

Re: StreetView Grabber (Updated v1.6)

Posted: Tue Jun 23, 2015 4:30 pm
by Ftor
Still no evidence that it's free from malware. I have to use virtual machine for this useful software.
Is there any way to use this software with Ubuntu?

Re: StreetView Grabber (Updated v1.6)

Posted: Wed Jul 01, 2015 12:14 am
by Ftor
Olby, thank you anyway for your utility.
Unfortunately, Google Street View panoramas don't remain in the same quality in which you find them. Every house which is unblurred now can become blurred. The opposite conversion doesn't occur. So keeping private copy which doesn't degrade because of some nonsense requests is a good idea.

Re: StreetView Grabber (Updated v1.6)

Posted: Sat Aug 15, 2015 4:14 pm
by Hi-Toro
I saw this ages ago but was too lazy to try it -- it's awesome!

Would it be possible to allow looking up and down, like in Streetview itself?

Any chance of the source code being released?

Re: StreetView Grabber (Updated v1.6)

Posted: Mon Feb 01, 2016 4:05 pm
by Olby
Yes, photo spheres and other special cases of street view are currently not supported. I have a fix in mind but I just don't have any time to do it right now.

Re: StreetView Grabber (Updated v1.6)

Posted: Thu Jul 07, 2016 3:43 pm
by Mesa
Hi, for information, i've got the same probleme as puresat, some pictures are gray + the previewer crashs, both of them only with the quality at 6 (max).

It's a very very great soft !
Thanks.

M.

Re: StreetView Grabber (Updated v1.6)

Posted: Tue Nov 22, 2016 3:35 pm
by dige
Hi Olby, would you be so kind and could show me, how do you load and view the panorama images?

I try to view my Insta360 images like this:
Image

Re: StreetView Grabber (Updated v1.6)

Posted: Tue Nov 22, 2016 7:48 pm
by Olby
Hey,

For those of you who want to view standalone panorama images here's the code. Tested on 5.41LTS+. Once compiled just drag and drop the panorama files over the executable to view them. Needs Engine3D.dll in the same folder. Enjoy!

Code: Select all

EnableExplicit

UseJPEGImageDecoder()
UsePNGImageDecoder()

Define.i w,h,d,mx.f,my.f,file$=Trim(ProgramParameter(0))

If file$
	If InitEngine3D() And
	   InitSprite() And
	   InitKeyboard() And
	   InitMouse()
	
		If ExamineScreenModes()
			While NextScreenMode()
				w=ScreenModeWidth()
				h=ScreenModeHeight()
				d=ScreenModeDepth()
			Wend
			
			If OpenScreen(w,h,d,"Panorama",#PB_Screen_SmartSynchronization)
				CreateCamera(0,0,0,100,100)
				CameraFOV(0,90)
				
				Add3DArchive(GetPathPart(file$),#PB_3DArchive_FileSystem)
				CreateMaterial(0,LoadTexture(0,file$))
				DisableMaterialLighting(0,#True)
				MaterialFilteringMode(0,#PB_Material_Trilinear)
				RotateMaterial(0,180,#PB_Material_Fixed)
				
				CreateSphere(0,-10,32,32)
				CreateEntity(0,MeshID(0),MaterialID(0))
				
				Repeat
					If ExamineMouse()
						mx=-MouseDeltaX()/4.0
						my=-MouseDeltaY()/4.0
					EndIf
					RotateCamera(0,my,mx,0,#PB_Relative)
					RenderWorld()
					FlipBuffers()
					ExamineKeyboard()
			  Until KeyboardPushed(#PB_Key_Escape)
		  EndIf
		EndIf
	EndIf
EndIf

Re: StreetView Grabber (Updated v1.6)

Posted: Wed Nov 23, 2016 9:06 am
by dige
Yeah!!! Great :D Thank you Olby!

Re: StreetView Grabber (Updated v1.6)

Posted: Wed Nov 23, 2016 9:28 am
by dige
I've changed some little things, to use it several times.

But there must be something wrong. I'll always get an IMA after two times OpenScreen().

Anybody can help?

Code: Select all

EnableExplicit

UseJPEGImageDecoder()
UsePNGImageDecoder()

Define.i w,h,d,mx.f,my.f,file$=Trim(ProgramParameter(0))

If InitEngine3D() And
  InitSprite() And
  InitKeyboard() And
  InitMouse()
   
  If ExamineScreenModes()
    While NextScreenMode()
      w=ScreenModeWidth()
      h=ScreenModeHeight()
      d=ScreenModeDepth()
    Wend
  EndIf
EndIf      

Repeat
  
If w <> 0 And (file$ = "" Or file$ = "#")
  file$ = OpenFileRequester( "Select Image", "", "Image (*.jpg)|*.jpg;*.jpeg;*.png;*.bmp|Alle Dateien (*.*)|*.*", 0)
EndIf

If file$
   If OpenScreen(w,h,d,"Panorama",#PB_Screen_SmartSynchronization)
      If CreateCamera(0,0,0,100,100)
        CameraFOV(0,90)
        
        Add3DArchive(GetPathPart(file$),#PB_3DArchive_FileSystem)
        If CreateMaterial(0,LoadTexture(0,file$))
          DisableMaterialLighting(0,#True)
          MaterialFilteringMode(0,#PB_Material_Trilinear)
          RotateMaterial(0,180,#PB_Material_Fixed)

          If CreateSphere(0, -10, 32, 32)

            If CreateEntity(0,MeshID(0),MaterialID(0))
            
              Repeat
                 If ExamineMouse()
                    mx=-MouseDeltaX()/4.0
                    my=-MouseDeltaY()/4.0
                 EndIf
                  
                 RotateCamera(0,my,mx,0,#PB_Relative)
                 RenderWorld()
                 FlipBuffers()
                 ExamineKeyboard()
               Until KeyboardPushed(#PB_Key_Escape)
               
               FreeEntity(0)
             EndIf
             FreeMesh(0)
           EndIf
           
           FreeTexture(0)
           FreeMaterial(0)
         EndIf
         FreeCamera(0)
       EndIf
       CloseScreen()
       file$ = "#"
    EndIf
 EndIf
 Until file$ = "" 

Re: StreetView Grabber (Updated v1.6)

Posted: Wed Nov 23, 2016 8:32 pm
by Olby
Hey dige,

Hmmm I don't see anything obvious. Try posting this in the 3D programming, they might know why it does IMA.

Thanks.

Re: StreetView Grabber (Updated v1.6)

Posted: Thu Nov 24, 2016 3:30 pm
by Mesa
I've try to add a zoom function but i have an auto rotation around the Z axis, is it a bug ?

And there is a limitation about the texture size, do you know a work around to avoid that ?

Code: Select all

EnableExplicit

UseJPEGImageDecoder()
UsePNGImageDecoder()

UseTGAImageDecoder()


Define.i w,h,d,MouseX.f,MouseY.f,file$=Trim(ProgramParameter(0)),Engine3Ddll$,ok,ev
Define.i tick, LB, RB

Engine3Ddll$=GetCurrentDirectory() + "Engine3D.dll"
If FileSize(Engine3Ddll$) = -1
  Engine3Ddll$=#PB_Compiler_Home + "Compilers\Engine3D.dll"
ElseIf FileSize(Engine3Ddll$) = -1
  MessageRequester("Attention","Engine3D.dll is missing.",#PB_MessageRequester_Warning)
  End
EndIf



file$=OpenFileRequester("Open Picture 360",GetCurrentDirectory(),"*.*",0)

If file$
  
  ok=InitEngine3D(#PB_Engine3D_DebugLog,Engine3Ddll$)
  If ok=0
    Debug "Problem with 3D"
    MessageRequester("Attention","Problem with 3D.",#PB_MessageRequester_Warning)
    End
  EndIf
  
  ok=ok+InitSprite() 
  If ok=0
    Debug "Problem with sprites"
    MessageRequester("Attention","Problem with sprites.",#PB_MessageRequester_Warning)
    End
  EndIf
  ok=ok+InitKeyboard()
  If ok=0
    Debug "Problem with keyboard"
    MessageRequester("Attention","Problem with keyboard.",#PB_MessageRequester_Warning)
    End
  EndIf
  ok=ok+InitMouse()
  If ok=0
    Debug "Problem with mouse"
    MessageRequester("Attention","Problem with mouse.",#PB_MessageRequester_Warning)
    End
  EndIf
  
  If ok <> 0
    
    If ExamineDesktops()
      OpenWindow(0, 0, 0, DesktopWidth(0), DesktopHeight(0),"Panorama: Zoom = mousewheel or UP/DOWN, Rotation Z = Left Button/Rigth button",#PB_Window_SystemMenu | #PB_Window_ScreenCentered)
      
      
      If OpenWindowedScreen(WindowID(0),0,0,DesktopWidth(0), DesktopHeight(0),0,0,0,#PB_Screen_SmartSynchronization)
        CreateCamera(0,0,0,100,100)
        CameraFOV(0,90)
        
        Add3DArchive(GetPathPart(file$),#PB_3DArchive_FileSystem)
        
        ;TODO Problems with big texture
        CreateMaterial(0,LoadTexture(0,file$))
        DisableMaterialLighting(0,#True)
        MaterialFilteringMode(0,#PB_Material_Trilinear)
        RotateMaterial(0,180,#PB_Material_Fixed)
        
        CreateSphere(0,-10,32,32)
        CreateEntity(0,MeshID(0),MaterialID(0))
        
        ;-Node because there something wrong without node when we make a zoom
        CreateNode(0, 0, 0, 0)
        AttachNodeObject(0, CameraID(0))
        
        
        Repeat
          
          Repeat 
            ev = WindowEvent() 
          Until ev = 0
          
          
          If ExamineMouse()
            Mousex=-MouseDeltaX()/4.0
            Mousey=-MouseDeltaY()/4.0
            tick=MouseWheel()
            LB=MouseButton(#PB_MouseButton_Left)
            RB=MouseButton(#PB_MouseButton_Right)
            
            ;zoom with mouse
            If tick > 0               
              MoveCamera(0,0,0,-0.1, #PB_Relative)
            ElseIf tick < 0              
              MoveCamera(0,0,0,0.1, #PB_Relative)
            EndIf
            
            ;Debug CameraDirectionX(0,#PB_Absolute)
            
            ; To avoid auto rotation aound the Z axis: a BUG ?
            If LB <> 0
              RotateNode(0,0,0,-0.5, #PB_Relative)
            EndIf
            If RB <> 0
              RotateNode(0,0,0,0.5, #PB_Relative)
            EndIf
          EndIf
          
          
          If ExamineKeyboard()
            
            ; zoom with keyboard
            If KeyboardPushed(#PB_Key_Up)
              
              MoveCamera(0,0,0,-0.1, #PB_Relative)
              
              
            ElseIf KeyboardPushed(#PB_Key_Down)
              MoveCamera(0,0,0,0.1, #PB_Relative)
              
              
            EndIf
            
          EndIf
          RotateNode(0, MouseY, MouseX, 0, #PB_Relative)
          ;RotateEntity(0,  MouseY, MouseX, 0, #PB_Relative);
          ;RotateCamera(0,  MouseY, MouseX, 0, #PB_Relative)
          ;
          
          RenderWorld()
          FlipBuffers()
          
          
        Until KeyboardPushed(#PB_Key_Escape)
      EndIf
    EndIf
  EndIf
EndIf


Mesa.

Re: StreetView Grabber (Updated v1.6)

Posted: Thu Nov 24, 2016 9:06 pm
by Olby
TropicalCyborg wrote:Is it possible to make it work from the web? I send the link and recieve the image in return?
No, not really. It's a desktop application and I don't have plans on converting it to a web service. I'm pretty sure someone else has done something similar, after all, street view extraction is a trivial process.

Re: StreetView Grabber (Updated v1.6)

Posted: Wed Nov 30, 2016 2:09 pm
by dige
Zoom could also done with changing Camera FOV:

Code: Select all

Repeat
  If ExamineMouse()
    Mx=-MouseDeltaX()/4.0
    My=-MouseDeltaY()/4.0
    
    LB=MouseButton(#PB_MouseButton_Left)
    RB=MouseButton(#PB_MouseButton_Right)
    
    wheel = MouseWheel()
    If wheel <> 0
      fov + (wheel * 3)
      If fov < 3
        fov = 3
      EndIf
      
      If fov > 175
        fov = 175
      EndIf
      
      CameraFOV(0, fov)
    EndIf
    
    If LB <> 0
      RotateCamera(0,0,0,-0.5, #PB_Relative)
    EndIf
    If RB <> 0
      RotateCamera(0,0,0,0.5, #PB_Relative)
    EndIf
  EndIf
  
  If ExamineKeyboard()
    
    ; zoom with keyboard
    If KeyboardPushed(#PB_Key_Up)
      MoveCamera(0,0,0,-0.1, #PB_Relative)
      
    ElseIf KeyboardPushed(#PB_Key_Down)
      MoveCamera(0,0,0,0.1, #PB_Relative)
      
    ElseIf KeyboardPushed(#PB_Key_Left)
      MoveCamera(0,-0.1,0,0, #PB_Relative  )
      
    ElseIf KeyboardPushed(#PB_Key_Right)
      MoveCamera(0,0.1,0,0, #PB_Relative  )
      
    ElseIf KeyboardPushed(#PB_Key_PageUp)
      MoveCamera(0,0,0.1,0, #PB_Relative  )
      
    ElseIf KeyboardPushed(#PB_Key_PageDown)
      MoveCamera(0,0,-0.1,0, #PB_Relative  )
      
    EndIf
    
  EndIf
  
  ; RotateNode(0, My, Mx, 0, #PB_Relative)
  
  RotateCamera(0,My,Mx,0,#PB_Relative)
  
  RenderWorld()
  FlipBuffers()
  
  
Until KeyboardPushed(#PB_Key_Escape) Or WindowEvent() = #PB_Event_CloseWindow