support 16bits and 48bits
authorchenj <chenj@2c67d6c2-4361-4cd7-bd83-1149b1926c9b>
Thu, 31 Oct 2013 01:28:11 +0000 (01:28 +0000)
committerchenj <chenj@2c67d6c2-4361-4cd7-bd83-1149b1926c9b>
Thu, 31 Oct 2013 01:28:11 +0000 (01:28 +0000)
git-svn-id: https://valelab.ucsf.edu/svn/3rdpartypublic@148 2c67d6c2-4361-4cd7-bd83-1149b1926c9b

Motic/MoticImageDevicesProxy.h
Motic/x64/MoticImageDevicesProxy.lib
Motic/x86/MoticImageDevicesProxy.lib

index 3cf40c6..2afc225 100644 (file)
@@ -196,6 +196,8 @@ long  MIDP_GetCurCameraIndex();
 */\r
 long MIDP_GetCameraName( long idx, wchar_t*name, int len );\r
 \r
+//ASCII version\r
+long MIDP_GetCameraNameA(long idx, char*name, int len);\r
 /**\r
  * @brief Ñ¡ÔñÇл»É豸£¬Çл»É豸ºóÒªÖØлñÈ¡·Ö±æÂÊÓëͼÏñ¸ñʽ²ÎÊý\r
  *        select to open camera by index, after invoke this function, all the resolutions and formats of image need to be Query again\r
@@ -285,16 +287,18 @@ long  MIDP_SelectResByIndex(long idx);
  */\r
 long MIDP_Capture(wchar_t*name);\r
 \r
+//ASCII version\r
+long MIDP_CaptureA(char* name);\r
 /**\r
  * @brief É趨×Ô¶¯Æع⣬\r
  *        Auto Exposure setting\r
- * @param bAuto ÊÇ·ñ´ò¿ª×Ô¶¯Æع⣬true´ò¿ª£¬false¹Ø±Õ\r
+ * @param bAuto ÊÇ·ñ´ò¿ª×Ô¶¯Æع⣬1´ò¿ª£¬2¹Ø±Õ\r
  *              Activate/deactivate Auto Exposure, true activate auto exposure, false deactivate auto exposure\r
  *\r
  * @return     0 ³É¹¦; ·ñÔòʧ°Ü\r
  *             0 succeed, otherwise failed.\r
  */\r
-long MIDP_AutoExposure(bool bAuto);\r
+long MIDP_AutoExposure(long bAuto);\r
 \r
 /**\r
  * @brief ²éÑ°ÆعâÖµ·¶Î§\r
@@ -336,6 +340,46 @@ long MIDP_SetExposureValue(long v);
  * @see    MIDP_GetExposureValueRange   \r
  */\r
 long MIDP_GetExposureValue(long* v);\r
+/**\r
+ * @brief ²éÑ°Æعâʱ¼ä·¶Î§\r
+ *        query the range of exposure time\r
+ *\r
+ * @param  min ×îСÆعâʱ¼ä(10usµ¥Î»)\r
+ *             the minimum exposure time £¨ measurement in 10us)\r
+ *         max ×î´óÆعâʱ¼ä(10usµ¥Î»)\r
+ *             the maximum exposure time £¨ measurement in 10us)\r
+ * @return     0 ³É¹¦; ·ñÔòʧ°Ü\r
+ *             0 succeed, otherwise failed.\r
+ */\r
+long MIDP_GetExposureTimeRange(long* min, long* max);\r
+\r
+/**\r
+ * @brief É趨Æعâʱ¼ä(10usµ¥Î»)\r
+ *        set exposure time £¨ measurement in 10us)\r
+ *\r
+ * @param  v  ÆعâʱÒô£¨10usµ¥Î»£©£¬±ØÐëÔÚMIDP_GetExposureValueRange·µ»ØÖµ·¶Î§ÄÚ\r
+ *            exposure time ( measurement in 10us), must be one of value within the range return by MIDP_GetExposureValueRange\r
+ *\r
+ * @return     0 ³É¹¦; ·ñÔòʧ°Ü\r
+ *             0 succeed, otherwise failed.\r
+ *\r
+ * @see    MIDP_GetExposureTimeRange   \r
+ */\r
+long MIDP_SetExposureTime(long v);\r
+\r
+/**\r
+ * @brief »ñÈ¡Æعâʱ¼ä\r
+ *        get exposure time\r
+ *\r
+ * @param  v  ·µ»ØµÄµ±Ç°Æعâʱ¼ä£¨µ¥Î»10us)\r
+ *            current exposure time £¨measurement in 10us) return.\r
+ *\r
+ * @return     0 ³É¹¦; ·ñÔòʧ°Ü\r
+ *             0 succeed, otherwise failed.\r
+ *\r
+ * @see    MIDP_GetExposureTimeRange   \r
+ */\r
+long MIDP_GetExposureTime(long* v);\r
 \r
 /**\r
  * @brief »ñÈ¡ÔöÒ淶Χ£¬Èç¹ûÓ²¼þÖ§³Ö£¬Õâ¸ö·¶Î§¾ÍÊÇÓ²¼þµÄÔöÒ棬·ñÔòΪÈí¼þÔöÒæ\r
@@ -400,6 +444,21 @@ long MIDP_GetRGBGainRange(float*min, float*max);
 long MIDP_SetRGBGain(float r, float g, float b);\r
 \r
 /**\r
+ * @brief »ñÈ¡ÁÁ¶È·¶Î§\r
+ *        Query the range of brightness\r
+ *\r
+ * @param  min ×îСÁÁ¶È£¬\r
+ *             minimum brightness\r
+ *         max ×î´óÁÁ¶È\r
+ *             maximum brightness\r
+ *\r
+ * @return     0 ³É¹¦; ·ñÔòʧ°Ü\r
+ *             0 succeed, otherwise failed.\r
+ *\r
+ */\r
+long MIDP_GetBrightnessRange(long*min, long*max);\r
+\r
+/**\r
  * @brief É趨ÁÁ¶ÈÆ«ÒÆ, Ä¬ÈÏֵΪ0\r
  *        set offset of brightness, default value is 0\r
  *\r
@@ -413,6 +472,19 @@ long MIDP_SetRGBGain(float r, float g, float b);
 long MIDP_SetBrightness(long b);\r
 \r
 /**\r
+ * @brief »ñÈ¡µ±Ç°ÁÁ¶ÈÆ«ÒÆ,\r
+ *        get current offset of brightness\r
+ *\r
+ * @param  b ÁÁ¶ÈÆ«ÒÆÖµ\r
+ *           offset value of brightness\r
+ *\r
+ * @return 0 ³É¹¦; ·ñÔòʧ°Ü\r
+ *         0 succeed, otherwise failed.\r
+ *\r
+ */\r
+long MIDP_GetBrightness(long* b);\r
+\r
+/**\r
  * @brief É趨RGB¸÷ÑÕÉ«µÄÁÁ¶ÈÆ«ÒÆ, Ä¬ÈÏֵΪ0\r
  *        set offset of RGB brightness, default value is 0\r
  *\r
@@ -445,6 +517,21 @@ long MIDP_SetRGBBrightness(long r, long g, long b);
 long MIDP_SetGamma(float g, long o);\r
 \r
 /**\r
+ * @brief »ñÈ¡Ù¤ÂíÖµ\r
+ *        get gamma\r
+ *\r
+ * @param  g Ù¤ÂíÖµ\r
+ *           gamma value\r
+ *         o ÏñËØÆ«ÒÆ£¬ËüΪֱ·½Í¼ÔöÇ¿ÏÂÏÞÖµ\r
+ *           offset of pixel, it is the lower limit value of histogram enhanc\r
+ *\r
+ * @return 0 ³É¹¦; ·ñÔòʧ°Ü\r
+ *         0 succeed, otherwise failed.\r
+ *\r
+ */\r
+long MIDP_GetGamma(float *g, long *o);\r
+\r
+/**\r
  * @brief »ùÓÚµ±Ç°µÄͼÏñ¼ÆËã²¢Ó¦Óð×ƽºâ£¬Ò»°ãÇé¿öϵ±Ç°Í¼ÏñΪ±³¾°Ê±µ÷Óøú¯Êý¡£\r
           Õû¸öϵͳÈç¹û»·¾³²»±äÖ»Òªµ÷ÓÃÒ»´Î¸Ãº¯Êý£¬°×ƽºâ¾Í»á¼ÇÒäÔÚϵͳÖУ¬Ï´ÎÖ»Òªµ÷ÓÃMIDP_ActivateWhiteBalance\r
  *        calculate the factors of whitebalance base on current image. normally, invoke this function once only \r
@@ -468,7 +555,36 @@ long MIDP_DoWhiteBalance();
  *\r
  * @see MIDP_DoWhiteBalance\r
  */\r
-long MIDP_ActivateWhiteBalance();\r
+long MIDP_ActivateWhiteBalance(long act);\r
+\r
+/**\r
+ * @brief É趨°×ƽºâ²ÎÊý£¬É趨¸Ã²ÎÊýºó£¬Ö±½Óµ÷ÓÃMIDP_ActivateWhiteBalance£¬°×ƽºâ»áÒÀ¾Ý¸ø¶¨µÄrgbÀ´É趨 *¡¡¡¡¡¡¡¡\r
+ *        Set WhiteBalance factors, the white balance will use the input r,g,b value adjust color balance.\r
+ *        You can invoke MIDP_ActivateWhiteBalance after setting these parameters\r
+ *\r
+ * @param  r,g,b °×ƽºâR,G,BÒò×Ó£¬°Ù·Ö±ÈÊýÖµ\r
+ *               R,G,B factors for White Balance, with percent style.\r
+ * \r
+ * @return 0 ³É¹¦; ·ñÔòʧ°Ü\r
+ *         0 succeed, otherwise failed.\r
+ *\r
+ * @see MIDP_ActivateWhiteBalance\r
+ */\r
+long MIDP_SetWBFactors(long r, long g, long b);\r
+\r
+/**\r
+ * @brief »ñÈ¡°×ƽºâ²ÎÊý£¬¡¡¡¡¡¡¡¡\r
+ *        Get WhiteBalance factors\r
+ *\r
+ * @param  r,g,b °×ƽºâR,G,BÒò×Ó£¬°Ù·Ö±ÈÊýÖµ\r
+ *               R,G,B factors for White Balance, with percent style.\r
+ *\r
+ * @return 0 ³É¹¦; ·ñÔòʧ°Ü\r
+ *         0 succeed, otherwise failed.\r
+ *\r
+ * @see MIDP_SetWBFactors\r
+ */\r
+long MIDP_GetWBFactors(long *r, long *g, long *b);\r
 \r
 /**\r
  * @brief É趨ɫ²ÊУÕý²ÎÊý\r
@@ -483,33 +599,68 @@ long MIDP_ActivateWhiteBalance();
  */\r
 long MIDP_SetColorCorrection(long val);\r
 \r
+/**\r
+ * @brief »ñÈ¡É«²ÊУÕý²ÎÊý\r
+ *        get Color Correction\r
+ *\r
+ * @param  val É«²ÊУÕý²ÎÊýÖµ.\r
+ *             value of color correction.\r
+ *\r
+ * @return 0 ³É¹¦; ·ñÔòʧ°Ü\r
+ *         0 succeed, otherwise failed.\r
+ *\r
+ */\r
+long MIDP_GetColorCorrection(long* val);\r
+\r
 \r
 /**\r
  * @brief »ñȡһ֡ͼÏñÊý¾ÝµÄÖ¸¶¨ÇøÓò\r
- *        Get a image from current frame within a rectangle.\r
  *\r
  * @param buffer »º³åÇøÖ¸Õ룬±ØÐë×ã¹»ÈÝÄɽ«È¡µÃµÄͼÏñÊý¾Ý¡£\r
- *               The frame buffer, must be big enough for containing the image data.\r
  *        x      Í¼ÏñµÄˮƽÆðʼλÖà\r
- *               Specifies the x-coordinate of the upper-left corner of the image rectangle. \r
  *        y      Í¼ÏñµÄ´¹Ö±ÆðʼλÖÃ\r
-                 Specifies the y-coordinate of the upper-left corner of the image rectangle. \r
  *        w      Í¼ÏñµÄ¿í¶È\r
-                 Specifies the width  of the destination image\r
  *        h      Í¼ÏñµÄ¸ß¶È\r
-                 Specifies the heigh of the destination image\r
  *        stride »º³åÇøµÄÐÐ×Ö½ÚÊý\r
-                 specifies the byte offset between the beginning of one line and the next\r
  *        flip   ÊÇ·ñÐ뷭תͼÏñ\r
-                 if the image need to be flipped or not.\r
  *\r
  * @return     0 ³É¹¦; ·ñÔòʧ°Ü\r
  *             0 succeed, otherwise failed.\r
  *\r
- * @see   MIDP_GetFormat\r
+ * @see   MIDP_GetFormatEx\r
  */\r
 long MIDP_GetFrameEx(unsigned char* buffer, long x, long y, long w, long h, long stride, bool flip);\r
 /**\r
  * @undocumented\r
  */\r
-double MIDP_EvaluateFocusDegree24bits(unsigned char* buffer, long width, long height);
\ No newline at end of file
+double MIDP_EvaluateFocusDegree24bits(unsigned char* buffer, long width, long height);\r
+\r
+/**\r
+ * @brief »ñÈ¡Ò»Ö¡24bitsͼÏñÊý¾Ý\r
+ *        get one frame of image with 24bits\r
+ *\r
+ * @param buffer 24bits»º³åÇøÖ¸Õ룬±ØÐë×ã¹»ÈÝÄɽ«È¡µÃµÄͼÏñÊý¾Ý¡£\r
+ *               The frame buffer for 24bits color depth, must be big enough for containing the image data.\r
+ *        w      Í¼Ïñ¿í¶È \r
+ * ¡¡¡¡¡¡¡¡¡¡¡¡¡¡width\r
+ *        h      Í¼Ïñ¸ß¶È\r
+ *               height \r
+ *\r
+ * @return     0 ³É¹¦; ·ñÔòʧ°Ü\r
+ *             0 succeed, otherwise failed.\r
+ *\r
+ */\r
+long MIDP_GetFrame24(unsigned char*buffer, long w, long h);\r
+\r
+/**\r
+ * @brief É趨ͼÏñµÄλÉî\r
+ *        Set bit depth of image data.\r
+ *\r
+ * @param bitcount Î»ÉȡֵΪ8Óë16\r
+ *                  Bit depth 8 or 16 bits\r
+ *\r
+ * @return     0 ³É¹¦; ·ñÔòʧ°Ü\r
+ *             0 succeed, otherwise failed.\r
+ *\r
+ */\r
+long MIDP_SetBitCount(long bitcount);
\ No newline at end of file
index 781b3ae..aba7167 100644 (file)
Binary files a/Motic/x64/MoticImageDevicesProxy.lib and b/Motic/x64/MoticImageDevicesProxy.lib differ
index ba2ab90..44dda2a 100644 (file)
Binary files a/Motic/x86/MoticImageDevicesProxy.lib and b/Motic/x86/MoticImageDevicesProxy.lib differ