ICL D-2

Daily 2012/01/31 22:16


ICL 수술까지 앞으로 2일...

내일 하루동안 눈에 넣어야 하는 안약들...

수술이 제대로 되었음 좋겠다
저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License
posted by deviAk

퇴사하고 공식적인(?) 백수 생활의 첫날 늦잠도 자지 못하고 병원에 갔다.
오늘이 바로 ICL수술(렌즈삽입술)을 받기 전 홍채절개술을 하는 날이기 떄문이다.

시력교정술에는 우리가 흔히 알고 있는 라식, 라섹등이 있는데 나는 초고도근시라(디옵터-10이상) 라식, 라섹이 불가능하다.
그래서 선택한 것이 ICL 렌즈 삽입수술이다. (렌즈 삽입술에 대한것은 검색하면 많이 나오니 설명은 패스 절대 귀찮아서...)

수술을 받기전 인터넷 후기들을 보면 홍채절개술을 받고 머리가 아프다.
조금 아프다 라는 글들을 많이 찾아 볼 수 있어서 걱정을 쪼금(?) 했었다.

걱정을 조금 안고 안과로 향했다.
예약을 하고 갔었지만 안과에는 사람이 너무 많았다.....
( 워낙 유명한 안과전문병원이라 일반 외래 환자도 너무 많아서...ㅠㅠ )

먼저 5분 간격으로 동공을 줄이는 안약을 투약하고 레이저실로 입장...
눈에 마취안약을 넣은 후 바로 레이저 시술을 시행하였다.

수술이라길래 수술복 갈아 입는 줄 알았는데...
그냥 옷 입고 앉은 상태에서 바로 레이저 수술을 받았다...

총 레이저를 2번 받았는데...
첫번째 레이저는 녹색빛이였고 양안 하는데 5~10분 정도 짧게 걸렸다.
느낌은 뭐랄까 아프진 않는데 눈을 뚫는 느낌이 들긴 했다. 물총을 물에 쏠때 지르륵 하는 그런 느낌?

두번째 레이저는 빨간색 레이저 였는데 이것도 양안하는데 5~10분 정도 짧게 걸렸다.
이것도 아프진 않고 느낌은 레이저로 눈을 치는 듯한? 딱딱 그런 느낌이였다.

두번의 레이저수술을 마치고 안압검사 하고 오늘의 홍채절개술이 끝이 났다.

인터넷 후기들을 보면 머리아프다는 사람이나 레이저 받을때 아프다는 사람도 많았는데..
의사샘도 집에가서 머리 아플수도 있으니 그럴땐 두통약 먹어도 된다고 하셨는데...
나는 전혀 그런게 없어서 레이저수술 잘 받은건지 의심까지 들었다...

아무튼 내일 아침에 병원에 가서 홍채절개술이 제대로 되었는지 검사 받고 왼쪽눈은 PRP레이저를 받아야 한다.
사실 PRP레이저는 ICL에는 없는 단계 인데..
왼쪽눈에 상처(?) 때문에 ICL 본 수술 받기전에 받아야 된다고 해서 내일 왼쪽 눈만 레이저 받아야 한다...OTL

이제 남은 것은 내일 받는 PRP레이저와 2월2일 날 하는 ICL 본수술만 남았다.

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License
posted by deviAk
http://www.amazon.com/exec/obidos/ASIN/B006UIS53K/34a6-20/

윈도우 대응 키넥트를 2월 1일부터 판매 한다고 한다.

현재 아마존에서 프리오더 진행 중이며 가격은 엑박용보다 비싸다. ( 거기다 소프트도 없다! )

엑박용으로 나온 것보다 근거리 인식이 가능하다고 한다.

중고로 엑박 키넥트 산지 1주일도 안지났는데... 윈도우용 키넥트 발매 소식이라니...

그냥 중고 키넥트로 계속 써야겠다...

Product Description

From the Manufacturer

This Kinect Sensor for Windows has a shortened USB cable to ensure reliability across a broad range of computers and includes a small dongle to improve coexistence with other USB peripherals. The new firmware enables the depth camera to see objects as close as 50 centimeters in front of the device without losing accuracy or precision, with graceful degradation down to 40 centimeters. “Near Mode” will enable a whole new class of “close up” applications, beyond the living room scenarios for Kinect for Xbox 360.

The Kinect for Windows sensor unit is intended to be used with the following:
-Kinect for Windows Commercial SDK
-An application that was developed using the Kinect for Windows Commercial SDK and associated runtime software.

Note: The senor unit does not ship with any software, and will only operate with an application developed for Kinect for Windows.

Hardware Requirements
-32 bit (x86) or 64 bit (x64) processor
-Dual-core 2.66-GHz or faster processor
-Dedicated USB 2.0 bus
-2 GB RAM

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License
posted by deviAk
출처 : http://www.brekel.com/?page_id=671

Kinect SDK에 대하여 찾던 중 OpenNI라는 것을 알게 되었다.
MS에서 공개한 SDK 베타버전과 OpenNI에 대한 비교는 다음과 같다.

둘다 각각 장단점이 존재 한다.
Kinect SDK와 OpenNI를 연동시키는 것도 존재한다고 하니 좀 더 찾아봐야 겠다.

Microsoft’s Kinect SDK (Beta)
pro:

  • support for audio
  • support for motor/tilt
  • full body tracking:
    • does not need a calibration pose
    • includes head, hands, feet, clavicles
    • seems to deal better with occluded joints
  • supports multiple sensors
  • single no-fuss installer
  • SDK has events for when a new Video or new Depth frame is available

con:

  • licensed for non-commercial use only
  • only tracks full body (no mode for hand only tracking)
  • does not offer alignment of the color&depth image streams to one another yet
    • although there are features to align individual coordinates
    • and there are hints that support may come later
  • full body tracking:
    • only calculates positions for the joints, not rotations
    • only tracks the full body, no upperbody or hands only mode
    • seems to consume more CPU power than OpenNI/NITE (not properly benchmarked)
  • no gesture recognition system
  • no support for the PrimeSense and the ASUS WAVI Xtion sensors? (can anyone confirm this?)
  • only supports Win7 (x86 & x64)
  • no support for Unity3D game engine
  • no built in support for record/playback to disk
  • no support to stream the raw InfraRed video data
  • SDK does not have events for when new user enters frame, leaves frame etc

 

PrimeSense OpenNI/NITE

pro:

  • license includes commercial use
  • includes a framework for hand tracking
  • includes a framework for hand gesture recognition
  • can automatically align the depth image stream to the color image
  • full body tracking:
    • also calculates rotations for the joints
    • support for hands only mode
    • seems to consume less CPU power than Microsoft Kinect SDK’s tracker (not properly benchmarked)
  • also supports the Primesense and the ASUS WAVI Xtion sensors
  • supports multiple sensors although setup and enumeration is a bit quirky
  • supports Windows (including Vista&XP), Linux and Mac OSX
  • comes with code for full support in Unity3D game engine
  • support for record/playback to/from disk
  • support to stream the raw InfraRed video data
  • SDK has events for when new User enters frame, leaves frame etc

con:

  • no support for audio
  • no support for motor/tilt (although you can simultaneously use the CL-NUI motor drivers)
  • full body tracking:
    • lacks rotations for the head, hands, feet, clavicles
    • needs a calibration pose to start tracking (although it can be saved/loaded to/from disk for reuse)
    • occluded joints are not estimated
  • supports multiple sensors although setup and enumeration is a bit quirky
  • three separate installers and a NITE license string (although the process can be automated with my auto driver installer)
  • SDK does not have events for when new Video or new Depth frames is available

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License
posted by deviAk

Kinect for Windows Architecture

The SDK provides a sophisticated software library and tools to help developers use the rich form of Kinect-based natural input, sensing and reacting to real-world events.

The Kinect sensor and associated software library interact with your application, as shown in Figure 1.

Figure 1.  Figure 1. Hardware and software interaction with an application

The components of the SDK are shown in Figure 2.

Figure 2.  SDK Architecture

Components for the SDK shown in Figure 2 include the following:

  • Kinect hardware - The hardware components, including the Kinect sensor and the USB hub, through which the sensor is connected to the computer.
  • Microsoft Kinect drivers - The Windows 7 drivers for the Kinect sensor, which are installed as part of the SDK setup process as described in this document. The Microsoft Kinect drivers support:
    • The Kinect sensor’s microphone array as a kernel-mode audio device that you can access through the standard audio APIs in Windows.
    • Streaming image and depth data.
    • Device enumeration functions that enable an application to use more than one Kinect sensor that is connected to the computer.
  • KinectAudio DirectX Media Object (DMO) - The Kinect DMO that extends the microphone array support in Windows 7 to expose beamforming and source localization functionality.
  • Windows 7 standard APIs - The audio, speech, and media APIs in Windows 7, as described in the Windows 7 SDK and the Microsoft Speech SDK.
The NUI API

The NUI API is the core of the Kinect for Windows API. It supports fundamental image and device management features, including the following:

  • Access to the Kinect sensors that are connected to the computer.
  • Access to image and depth data streams from the Kinect image sensors.
  • Delivery of a processed version of image and depth data to support skeletal tracking. 
This SDK includes C++ and C# versions of the SkeletalViewer sample. SkeletalViewer shows how to use the NUI API in an application to capture data streams from the NUI Image camera, use skeletal images, and process sensor data. For more information, see “Skeletal Viewer Walkthrough” on the SDK website.

NUI API Initialization

The Microsoft Kinect drivers support the use of multiple Kinect sensors on a single computer. The NUI API includes functions that enumerate the sensors, so that you can determine how many sensors are connected to the machine, get the name of a particular sensor, and individually open and set streaming characteristics for each sensor.

Although the SDK supports an application using multiple Kinect sensors, only one application can use each sensor at any given time.

Sensor Enumeration and Access

C++ and managed code applications enumerate the available Kinect sensors, open a sensor, and initialize the NUI API in one of the following ways:

To initialize the NUI API and use only one Kinect sensor in a C++ application

  1. Call NuiInitialize. This function initializes the first instance of the Kinect sensor device on the system.
  2. Call other NuiXxx functions to stream image and skeleton data and manage the cameras.
  3. Call NuiShutdown when use of the Kinect sensor is complete.
To initialize the NUI API and use more than one Kinect sensor in a C++ application
  1. Call MSR_NuiDeviceCount to determine how many sensors are available.
  2. Call MSR_NuiCreateInstanceByIndex to create an instance for each sensor that the application uses. This function returns an INuiInstance interface pointer for the instance.
  3. Call INuiInstance::NuiInitialize to initialize the NUI API for the sensor.
  4. Call other methods on the INuiInstance interface to stream image and skeleton data and manage the cameras.
  5. Call INuiInstance::NuiShutdown on a sensor instance to close the NUI API when use of that sensor is complete.
  6. Call MSR_NuiDestroyInstance to destroy the instance.
To initialize the NUI API and use one Kinect sensor in managed code
  1. Create a new Runtime object and leave the parameter list empty, as in the following C# code: nui = new Runtime(); This constructor creates an object that represents the first instance of the Kinect sensor device on the system.
  2. Call Runtime.Initialize to initialize the NUI API for the sensor.
  3. Call additional methods in the managed interface to stream image and skeleton data and to manage the cameras.
  4. Call Runtime.Shutdown when use of the Kinect sensor is complete.
To initialize the NUI API and use more than one Kinect sensor in managed code
  1. Call MSR_NuiDeviceCount to determine how many sensors are available.
  2. Create a new Runtime object and pass the index of a sensor, as in the following C# code:
       nui = new Runtime(index);
  3. This constructor creates an object that represents a particular instance of the Kinect sensor device on the system.
  4. Call Runtime.Initialize to initialize the NUI API for that device instance.
  5. Call additional methods in the managed interface to stream image and skeleton data and to manage the cameras.
  6. Call Runtime.Shutdown when use of that device instance is complete.

Initialization Options

The NUI API processes data from the Kinect sensor through a multistage pipeline. At initialization, the application specifies the subsystems that it uses, so that the runtime can start the required portions of the pipeline. An application can choose one or more of the following options:

  • Color - The application streams color image data from the sensor.
  • Depth - The application streams depth image data from the sensor.
  • Depth and player index - The application streams depth data from the sensor and requires the player index that the skeleton tracking engine generates.
  • Skeleton - The application uses skeleton position data.

These options determine the valid stream types and resolutions for the application. For example, if an application does not indicate at NUI API initialization that it uses depth, it cannot later open a depth stream.

NUI Image Data Streams: An Overview

The NUI API provides the means to modify settings for the Kinect sensor array, and it enables you to access image data from the sensor array.

Stream data is delivered as a succession of still-image frames. At NUI initialization, the application identifies the steams it plans to use. It then opens those streams with additional stream-specific details, including stream resolution, image type, and the number of buffers that the runtime should use to store incoming frames. If the runtime fills all the buffers before the application retrieves and releases a frame, the runtime discards the oldest frame and reuses that buffer. As a result, it is possible for frames to be dropped. An application can request up to four buffers; two is adequate for most usage scenarios.

An application has access to the following kinds of image data from the sensor array:

  • Color data
  • Depth data
  • Player segmentation data 

Color Image Data

Color data is available in the following two formats:

  • RGB color provides 32-bit, linear X8R8G8B8-formatted color bitmaps, in sRGB color space. To work with RGB data, an application should specify a color or color_YUV image type when it opens the stream.
  • YUV color provides 16-bit, gamma-corrected linear UYVY-formatted color bitmaps, where the gamma correction in YUV space is equivalent to sRGB gamma in RGB space. Because the YUV stream uses 16 bits per pixel, this format uses less memory to hold bitmap data and allocates less buffer memory when you open the stream. To work with YUV data, your application should specify the raw YUV image type when it opens the stream. YUV data is available only at the 640x480 resolution and only at 15 FPS. 
Both color formats are computed from the same camera data, so that the YUV data and RGB data represent the same image. Choose the data format that is most convenient given your application's implementation.

The sensor array uses a USB connection to pass data to the PC, and that connection provides a given amount of bandwidth. The Bayer color image data that the sensor returns at 1280x1024 is compressed and converted to RGB before transmission to the runtime. The runtime then decompresses the data before it passes the data to your application. The use of compression makes it possible to return color data at frame rates as high as 30 FPS, but the algorithm that is used leads to some loss of image fidelity.

The sensor array uses a USB connection to pass data to the PC, and that connection provides a given amount of bandwidth. The Bayer color image data that the sensor returns at 1280x1024 is compressed and converted to RGB before transmission to the runtime. The runtime then decompresses the data before it passes the data to your application. The use of compression makes it possible to return color data at frame rates as high as 30 FPS, but the algorithm that is used leads to some loss of image fidelity.

Depth Data

The depth data stream provides frames in which each pixel represents the Cartesian distance, in millimeters, from the camera plane to the nearest object at that particular x and y coordinate in the depth sensor's field of view. The following depth data streams are available:

  • Frame size of 640×480 pixels
  • Frame size of 320×240 pixels
  • Frame size of 80×60 pixels 
Applications can process data from a depth stream to support various custom features, such as tracking users' motions or identifying background objects to ignore during application play.

The format of the depth data depends on whether the application specifies depth only or depth and player index at NUI initialization, as follows:

  • For depth only, the low-order 12 bits (bits 0?11) of each pixel contain depth data and the remaining 4 bits are unused.
  • For depth and player index, the low-order 3 bits (bits 0?2) of each pixel contain the player index and the remaining bits contain depth data. 
A depth data value of 0 indicates that no depth data is available at that position, because all the objects were either too close to the camera or too far away from it.

Player Segmentation Data

In the SDK , the Kinect system processes sensor data to identify two human figures in front of the sensor array and then creates the Player Segmentation map. This map is a bitmap in which the pixel values correspond to the player index of the person in the field of view who is closest to the camera, at that pixel position.

Although the player segmentation data is a separate logical stream, in practice the depth data and player segmentation data are merged into a single frame:

  • The 13 high-order bits of each pixel represent the distance from the depth sensor to the closest object, in millimeters.
  • The 3 low-order bits of each pixel represent the player index of the tracked player who is visible at the pixel's x and y coordinates. These bits are treated as an integer value and are not used as flags in a bit field. 
A player index value of zero indicates that no player was found at that location. Values one and two identify players. Applications commonly use player segmentation data as a mask to isolate specific users or regions of interest from the raw color and depth images.

Retrieving Image Information

Application code gets the latest frame of image data by calling a frame retrieval method and passing a buffer. If the latest frame of data is ready, it is copied into the buffer. If your code requests frames of data faster than new frames are available, you can choose whether to wait for the next frame or to return immediately and try again later. The NUI Image Camera API never provides the same frame of data more than once.

Applications can use either of the following two usage models:

  • Polling Model The polling model is the simplest option for reading data frames. First, the application code opens the image stream. It then requests a frame and specifies how long to wait for the next frame of data (between 0 and an infinite number of milliseconds). The request method returns when a new frame of data is ready or when the wait time expires, whichever comes first. Specifying an infinite wait causes the call for frame data to block and to wait as long as necessary for the next frame.

    When the request returns successfully, the new frame is ready for processing. If the time-out value is set to zero, the application code can poll for completion of a new frame while it performs other work on the same thread. A native C++ application calls NuiImageStreamOpen to open a color or depth stream and omits the optional event. Managed code calls ImageStream.Open. To poll for color and depth frames, native C++applications call NuiImageStreamGetNextFrame and managed code calls ImageStream.GetNextFrame.

  • Event Model The event model supports the ability to integrate retrieval of a skeleton frame into an application engine with more flexibility and more accuracy.

    In this model, C++ application code passes an event handle to NuiImageStreamOpen. When a new frame of image data is ready, the event is signaled. Any waiting thread wakes and gets the frame of skeleton data by calling NuiImageGetNextFrame. During this time, the event is reset by the NUI Image Camera API.

    Managed code uses the event model by hooking a Runtime.DepthFrameReady or Runtime.ImageFrameReady event to an appropriate event handler. When a new frame of data is ready, the event is signaled and the handler runs and calls ImageStream.GetNextFrame to get the frame.

NUI Skeleton Tracking

The NUI Skeleton API provides information about the location of up to two players standing in front of the Kinect sensor array, with detailed position and orientation information.

The data is provided to application code as a set of points, called skeleton positions, that compose a skeleton, as shown in Figure 3. This skeleton represents a user’s current position and pose. Applications that use skeleton data must indicate this at NUI initialization and must enable skeleton tracking.

Figure 3.  Figure 3. Skeleton joint positions relative to the human body

Retrieving Skeleton Information

Application code gets the latest frame of skeleton data in the same way that it gets a frame of image data: by calling a frame retrieval method and passing a buffer. Applications can use either a polling model or an event model, in the same way as for image frames. An application must choose one model or the other; it cannot use both models simultaneously.

To use the polling model:

  • A native C++ application calls NuiSkeletonGetNextFrame to retrieve a skeleton frame.
  • Managed code calls SkeletonEngine.GetNextFrame.
To use the event model:
  • C++ application code passes an event handle to NuiSkeletonTrackingEnable.

    When a new frame of skeleton data is ready, the event is signaled. Any waiting thread wakes and gets the frame of skeleton data by calling NuiSkeletonGetNextFrame. During this time, the event is reset by the NUI Skeleton API.

  • Managed code uses the event model by hooking a Runtime.SkeletonFrameReady event to an appropriate event handler. 
When a new frame of skeleton data is ready, the event is signaled and the handler runs and calls SkeletonEngine.GetNextFrame to get the frame.

The skeletal tracking engine processes depth frame data to calculate the floor clipping plane, which is described in “Floor Determination,” later in this document. If the application indicates at initialization that it uses skeleton tracking, the skeletal tracking engine signals a skeleton frame each time it processes the depth data, whether or not a skeleton currently appears in the frame. Applications that use the floor clipping plane values can retrieve the skeleton frame. The returned skeleton frame includes the timestamp of the corresponding depth image so that applications can match skeleton data with depth image data.

Active and Passive Skeletal Tracking

The skeletal tracking engine provides full skeletal tracking for one or two players in the sensor's field of view. When a player is actively tracked, calls to get the next skeleton frame return complete skeleton data for the player. Passive tracking is provided automatically for up to four additional players in the sensor's field of view. When a player is being tracked passively, the skeleton frame contains only limited information about that player's position. By default, the first two skeletons that the skeletal tracking system finds are actively tracked, as shown in Figure 4.

Figure 4.  Figure 4. Active tracking for two players

The runtime returns skeleton data in a skeleton frame, which contains an array of skeleton data structures, one for each skeleton that the skeletal tracking system recognized. Not every skeleton frame contains skeleton data. When skeleton tracking is enabled, the runtime signals a skeleton event every time it processes a depth frame, as described in the previous section.

For all returned skeletons, the following data is provided:

  • The current tracking state of the associated skeleton:
    • For skeletons that are passively tracked, this value indicates position-only tracking.
    • For an actively tracked skeleton, the value indicates skeleton-tracked.
  • A unique tracking ID that remains assigned to a single player as that player moves around the screen.

The tracking ID is guaranteed to remain consistently applied to the same player for as long as he or she remains in the field of view. A given tracking ID is guaranteed to remain at the same index in the skeleton data array for as long as the tracking ID is in use. If the tracking ID of the skeleton at a particular index in the array changes, one of two things has happened: Either the tracked player left the field of view and tracking started on another player in the field of view, or the tracked player left the field of view, then returned, and is now being tracked again.

  • A position (of type Vector4) that indicates the center of mass for that player. This value is the only available positional value for passive players.
  • For the actively tracked players, returned data also includes the current full skeletal data.
  • For the passively tracked players, returned data includes only basic positional and identification data, and no skeletal data. 
NUI Transformations

This section provides a brief overview of the various coordinate systems that are used with skeleton tracking and the API support that is provided for transformations between these spaces.

Depth Image Space

Image frames of the depth map are 640x480, 320×240, or 80x60 pixels in size. Each pixel represents the Cartesian distance, in millimeters, from the camera plane to the nearest object at that particular x and y coordinate, as shown in Figure 5. A pixel value of 0 indicates that the sensor did not find any objects within its range at that location.

Figure 5.  Figure 5. Depth stream values

The x and y coordinates of the image frame do not represent physical units in the room, but rather pixels on the depth imaging sensor. The interpretation of the x and y coordinates depends on specifics of the optics and imaging sensor. For discussion purposes, this projected space is referred to as the depth image space.

Skeleton Space

Player skeleton positions are expressed in x, y, and z coordinates. Unlike the coordinate of depth image space, these three coordinates are expressed in meters. The x, y, and z axes are the body axes of the depth sensor. This is a right-handed coordinate system that places the sensor array at the origin point with the positive z axis extending in the direction in which the sensor array points. The positive y axis extends upward, and the positive x axis extends to the left (with respect to the sensor array), as shown in Figure 6. For discussion purposes, this expression of coordinates is referred to as the skeleton space.

Figure 6.  Figure 6. Skeleton-space coordinate system for the sensor array

Placement of the sensor array affects the images that the camera records. For example, the camera might be placed on a surface that is not level or the sensor array might be vertically pivoted to optimize the sensor's field of view. In these cases, the y-axis of the skeleton space is usually not perpendicular to the floor or parallel with gravity. In the resulting images, people that are standing up straight could appear to be leaning.

Floor Determination

Each skeleton frame also contains a floor clip plane vector, which contains the coefficients of an estimated floor plane equation. The skeleton tracking system updates this estimate for each frame and uses it as a clipping plane for removing the background and segmentation of players. The general plane equation is:

  
Ax + By + Cz + D = 0

where:

  A = vFloorClipPlane.x 
  B = vFloorClipPlane.y 
  C = vFloorClipPlane.z 
  D = vFloorClipPlane.w

The equation is normalized so that the physical interpretation of D is the height of the camera from the floor, in meters. It is worth noting that the floor might not always be visible. In this case, the floor clip plane is a zero vector. The floor clip plane can be found in the vFloorClipPlane member of the NUI_SKELETON_FRAME structure in the native interface and in the SkeletonFrame.FloorClipPlane field in the managed interface.

Skeletal Mirroring

By default, the skeleton system always mirrors the user who is being tracked. For applications that use an avatar to represent the user, such mirroring could be desirable if the avatar is shown facing into the screen. However, if the avatar faces the user, mirroring would present the avatar as backwards. Depending on its requirements, an application can create a transformation matrix to mirror the skeleton and then apply the matrix to the points in the array that contains the skeleton positions for that skeleton. The application is responsible for choosing the proper plane for reflection.

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License
posted by deviAk

Online developer resources for Kinect for Windows include the following:


Notes for Developers
General Developer Notes

  1. Visual Studio Version: Visual Studio 2010 Express (or other Visual Studio 2010 edition) is required.
  2. Developer Environment: For information, see the Introduction of the Programming Guide section of the documentation.
  3. Working with other SDKs and frameworks:
    This SDK is not intended for developing prototype Xbox applications with the intent of porting those applications to the Microsoft Xbox 360 console. Microsoft recommends that developers use Xbox 360 development kits (XDK hardware and software) to create Xbox 360 applications.
  4. Virtual machines: You must run applications built with the Kinect for Windows SDK Beta in a native Windows environment. Kinect for Windows applications cannot run in a virtual machine, because the Microsoft Kinect drivers and this SDK Beta must be installed on the computer where the application is running.
 
Unmanaged Code
  1. Compiling and Linking: To implement a C++ application:
    • For standard definitions, include windows.h in your source code.
    • To use the NUI API, include MSR_NuiApi.h, which is in %KINECTSDK_DIR%\inc
    • To use the Kinect Audio API, include MSRKinectAudio.h, which is in %KINECTSDK_DIR%\inc
    • Link to MSRKinectNUI.lib, which is in %KINECTSDK_DIR%\lib\x86 (for 32-bit apps) or %KINECTSDK_DIR%\lib\amd64 (for 64-bit apps)
  2. Player Index: To use player index information, C++ applications must specify both NUI_INITIALIZE_FLAG_USES_DEPTH_AND_PLAYER_INDEX and NUI_INITIALIZE_FLAG_USES_SKELETON in the dwFlags parameter to NuiInitialize.
 
Managed Code
  1. References: Managed code applications that use this SDK Beta must reference Microsoft.Research.Kinect.dll. This assembly is in the GAC, and can be found on the .NET tab of the Add Reference dialog box.
  2. Namespaces: Include using directives for the following namespaces:
    For the NUI API, add:
    using Microsoft.Research.Kinect.Nui;

    For the Audio API, add:
    using Microsoft.Research.Kinect.Audio;
  3. Player Index: For player index information to work properly, managed code applications that specify RuntimeOptions.UseDepthAndPlayerIndex must also specify RuntimeOptions.UseSkeletalTracking.
 
C++ Header Files
Here is a description of the functionality exposed in the C++ header files, located in %KINECTSDK_DIR%\inc

MSR_KinectAudio.h
Defines the audio API, including the ISoundSourceLocalizer interface, which supports beamforming and source localization.

MSR_NuiApi.h
Aggregates all NUI API headers and defines basic initialization and access functions—NuiInitialize, NuiShutdown, MSR_NuiXxx, and INuiInstance:
  • Enumerate devices
  • Access multiple devices

 MSR_NuiImageCamera.h
 Defines API for the NUI image and camera services—NuiCameraXxx, NuiImageXxx:
   • Adjust camera tilt
   • Open streams and read image or depth frames

MSR_NuiProps.h
Defines the APIs for the NUI properties enumerator.

MSR_NuiSkeleton.h
Defines API for NUI Skeleton—NuiSkeletonXxx, NuiTransformXxx:
  • Enable/disable skeleton tracking
  • Get skeleton data
  • Transform skeleton data for smoother rendering

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License
posted by deviAk

[Kinect] MS Kinect SDK

Study/Kinect 2012/01/06 22:41

MS에서 공개한 키넥트 SDK 설치와 실행을 위한 기본 환경은 다음과 같다.

Supported Operating Systems
    Windows 7, Windows 8 Developer Preview

Hardware
    32 bit (x86) or 64 bit (x64) processor
    Dual-core 2.66-GHz or faster processor
    Dedicated USB 2.0 bus
    2 GB RAM
    A retail Kinect for Xbox 360® sensor which includes special USB/power cabling

Software
    Microsoft® Visual Studio® 2010 Express or other Visual Studio 2010 edition
    .NET Framework 4.0

For C++ Skeletal Viewer Samples
    Microsoft DirectX® SDK - June 2010 or later version
    Runtime for Microsoft DirectX® 9

For Speech Samples
    Microsoft Speech Platform Runtime, version 10.2
      – select 32-bit if you are running 32-bit Windows. If you have 64-bit Windows, we suggest that you install both the 32-bit and 64-bit runtime.
    Microsoft Speech Platform - Software Development Kit, version 10.2
      – select 32-bit or 64-bit according to your Windows installation
    Kinect for Windows Language Pack, version 0.9


Installation instructions
To install the SDK Beta
  1. Make sure the Kinect device is not plugged in to the USB port on your computer.
  2. If you installed any previous Kinect for Windows SDK, uninstall it first. Similarly, you must remove any other drivers for the Kinect device.
  3. Close Visual Studio.
        Note: You must close Visual Studio before installing the SDK and then restart it after installation to pick up the KINECTSDK_DIR environment variables that the SDK requires.
  4. From the download location for the SDK Beta package, double-click the link for your Windows installation: 32-bit or 64-bit.
  5. Once the SDK has completed installing successfully, ensure your Kinect device is plugged in to an external power source then plug the Kinect into the PC’s USB port. The drivers will load automatically. Your Kinect should now be working correctly.
  6. To run the samples, ensure that the DirectX and Speech prerequisites are installed. They are listed in the previous section.

.NET Framework 4.0이 설치되어 있지 않으면 SDK를 설치할 수 없으며 Visual Studio 2010이 필요로 한다.

MS Kinect SDK : http://www.microsoft.com/en-us/kinectforwindows/
저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License
posted by deviAk

기다리던 복무만료...

Daily 2011/11/29 10:31

드디어 기다리던 산업기능요원 복무가 만료 되었다...

꿈만 같다 정말..... 노예에서 한 발 나아갔다 드디어 ㅠㅠ



저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License
posted by deviAk

아이폰 개발을 위한 디바이스(아이팟, 아이폰, 아이패드 등)들을 등록하는 단계 입니다.

01. 디바이스 등록

  1. 아이폰 포탈 사이트에 접속하여 “Devices”탭 에서 “Add Devices”버튼을 누른다.


  2. 등록할 디바이스 이름, 디바이스 ID(UUID)를 입력 후 “Submit”버튼을 누른다.


http://wiki.deviak.com/doku.php?id=basic:iphone_development:ready:devices

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License
posted by deviAk

아이폰 개발에 앞서 개발자 및 배포용 인증서 등록에 대한 방법 및 절차에 대한 내용 입니다.

01. WWDR Intermediate certificate 설치

  1. iPhone Developer Site 접속하여 Provisioning Portal 로 들어간다.


  2. Provisioning Portal의 Certificates에 들어가서 WWDR Intermediate certificate 다운 받아 설치한다.


  3. 다음과 같이 키체인에 WWDR Intermediate certificate가 등록 된것을 확인한다.


02. 개발자 포탈에 등록할 인증서 만들기

  1. “키체인 접근 → 인증서 지원 → 인증 기관에서 인증서 요청…“을 선택한다.


  2. 이메일 주소, 이름, 디스크에 저장, 본인의 키 쌍 정보 지정을 선택 후 계속 버튼을 누른다.


  3. 저장버튼을 누른다.


  4. 계속버튼을 누른다.


  5. 완료버튼을 누른다.


03. 개발자 포탈에 개발자 & 배포용 인증서 등록하기

  1. 개발자 포탈의 “Certificates”탭 에서 “Request Certificate” 버튼을 누른다.


  2. 만든 인증서를 선택한 후 “Submit”버튼을 누른다.


  3. 개발자 포탈의 “Distribution”탭 에서 “Certificates”탭 에서 했던 것처럼 “Request Certificate” 버튼을 누른후 인증서를 등록한다.


04. 개발자 & 배포용 인증서 맥에 등록하기

  1. 개발자 인증서를 다운로드 받는다.


  2. 배포용 인증서를 다운로드 받는다.


  3. 다운받은 인증서들을 맥에 등록한다.



http://wiki.deviak.com/doku.php?id=basic:iphone_development:ready:certificates
저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License
posted by deviAk
1 2 3 4 5 ... 23