![]() |
|
|
|
#1
|
|||
|
|||
|
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)
|
|
#2
|
|||
|
|||
|
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)
|
|
#3
|
|||
|
|||
|
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 Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| User keyboard input without halting the program | Zhi | Vizard | 2 | 06-23-2011 01:53 PM |
| Controlling User Input | ohad | Vizard | 1 | 03-15-2010 06:16 PM |
| How to input several model files and then save one output file | mspusch | Vizard | 1 | 07-15-2008 11:30 PM |
| problems with webcam plug-in | v-clizzin | Plug-in development | 2 | 01-25-2008 04:06 PM |
| problem with input boxes | shai | Vizard | 6 | 08-15-2005 11:51 AM |