![]() |
|
#1
|
|||
|
|||
Do you actually need the image data to be flipped, or do you just want to display the texture flipped? If you just want to display the texture flipped horizontally, then simply apply a negative scale on the texture quad:
Code:
quat.setScale([-1,1,1]) |
#2
|
|||
|
|||
![]()
Thanks farshizzo for the reply. I actually need the Image data to be flipped. I am working on Augmented Reality Project & I want to create a Mirror. If I flipped the quad containing the Image then the marker wont get flipped, so the co-ordination between image & logo gets lost and mismatch happens. To overcome this issue I need help. I have solved the colour issue in flipping video image by modifying the code as shown below & got the output as shown in below image:
![]() Code:
import viz import vizact import Image viz.go() def PIL_TO_VIZARD(texture): image = Image.fromstring('RGB',[width,height],cam.getImageData()) """Copy the PIL image to the Vizard texture""" im = image.transpose(Image.FLIP_LEFT_RIGHT) RGB2BGR = ( 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0 ) texture.setImageData(im.convert('RGB',RGB2BGR).tostring(),im.size) #Create a blank Vizard texture tex = viz.addBlankTexture([1,1]) cam = viz.addVideo('mona.mpg') cam.play() cam.loop() width,height,type = cam.getSize() #---------------------------- Texture Comparison -----------------------------# quad1 = viz.addTexQuad() quad1.setPosition([-.75, 2, 3]) quad1.texture(cam) quad2 = viz.addTexQuad() quad2.setPosition([.75, 2, 3]) quad2.texture(tex) #-----------------------------------------------------------------------------# vizact.ontimer(0,PIL_TO_VIZARD,tex) |
#3
|
|||
|
|||
![]()
I working on ARToolKit & Successfully flipped the Webcam Image. But now the issue is Marker is not getting detected in flipped texture.
Here is the code: Code:
import viz import vizact import Image viz.go() #------------------------ Flip Horizontal ------------------------------# def FlipHorizontal(cam_tex,texture): image = Image.fromstring('RGB',[width,height],cam_tex.getImageData()) """Copy the PIL image to the Vizard texture""" im = image.transpose(Image.FLIP_LEFT_RIGHT) RGB2BGR = ( 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0 ) texture.setImageData(im.convert('RGB',RGB2BGR).tostring(),im.size) #Create a blank Vizard texture tex = viz.addBlankTexture([1,1],format=viz.TEX_BGR) #Load Video Camera video = viz.add('VideoCamera.dle') # Load Web Camera & set cam as Video Texture cam = video.addWebcam() #Load ARToolKit ar = viz.add('ARToolKit.dle') width,height,type = cam.getSize() # Flip Video Texture Horizontally vizact.ontimer(0,FlipHorizontal,cam,tex) # Set ARToolKit Camera with cam as texture camera = ar.addCamera(tex) #---- This Dosn't work #camera = ar.addCamera(cam) #---- This works camera.setDebug(True) # Add AR Marker marker = camera.addMarker('ar/patt.hiro',width = 1000.00) #patt.hiro or patt.hiro_fh #Add logo model logo = viz.add('logo.ive') #Link logo model to marker sensor link = viz.link(marker,logo) |
#4
|
|||
|
|||
You need to flip the image before ARToolkit processes the camera image. Try scheduling the FlipHorizontal function with a lower update priority using the following code, instead of using vizact.ontimer:
Code:
vizact.onupate(viz.PRIORITY_PLUGINS,FlipHorizontal,cam,tex) |
![]() |
Tags |
artoolkit, camera, flip, flip horizontally, webcam |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
User keyboard input without halting the program | Zhi | Vizard | 2 | 06-23-2011 12:53 PM |
Controlling User Input | ohad | Vizard | 1 | 03-15-2010 05:16 PM |
How to input several model files and then save one output file | mspusch | Vizard | 1 | 07-15-2008 10:30 PM |
problems with webcam plug-in | v-clizzin | Plug-in development | 2 | 01-25-2008 03:06 PM |
problem with input boxes | shai | Vizard | 6 | 08-15-2005 10:51 AM |