PikaCV_common.c 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. #include "PikaCV_common.h"
  2. #include "PikaCV_Converter.h"
  3. int PikaCV_Format_Check(PikaObj* image,
  4. PikaCV_ImageFormat_Type type,
  5. PikaCV_Check_ReturnMode returnMode) {
  6. // return mode: 0 PikaCV_Check_ReturnError Only return inequality or
  7. // equality
  8. // 1 PikaCV_Check_Converter converter format to type when
  9. // inequality
  10. PikaCV_Image* src = obj_getStruct(image, "image");
  11. switch (returnMode) {
  12. case PikaCV_Check_ReturnError:
  13. if (src->format != type) {
  14. return 0;
  15. } else {
  16. return 1;
  17. }
  18. break;
  19. case PikaCV_Check_Converter:
  20. /* code */
  21. if (src->format != type) {
  22. PikaCV_Converter_converter((PikaObj*)NULL, image, type);
  23. return 0;
  24. } else {
  25. return 1;
  26. }
  27. break;
  28. default:
  29. return 0;
  30. break;
  31. }
  32. }
  33. int PikaCV_Format_CheckTwo(PikaObj* image1,
  34. PikaObj* image2,
  35. PikaCV_Check_ReturnMode returnMode) {
  36. // return mode: 0 PikaCV_Check_ReturnError Only return inequality or
  37. // equality
  38. // 1 PikaCV_Check_Converter converter format to type when
  39. // inequality
  40. PikaCV_Image* src1 = obj_getStruct(image1, "image");
  41. PikaCV_Image* src2 = obj_getStruct(image2, "image");
  42. switch (returnMode) {
  43. case PikaCV_Check_ReturnError:
  44. if (src1->format != src2->format) {
  45. return 0;
  46. } else {
  47. return 1;
  48. }
  49. break;
  50. case PikaCV_Check_Converter:
  51. /* code */
  52. if (src1->format != src2->format) {
  53. PikaCV_Converter_converter((PikaObj*)NULL, image2,
  54. src1->format);
  55. return 0;
  56. } else {
  57. return 1;
  58. }
  59. break;
  60. default:
  61. break;
  62. }
  63. return 0;
  64. }
  65. int PikaCV_Size_Check(PikaObj* image1,
  66. PikaObj* image2,
  67. PikaCV_Check_SizeMode sizeMode) {
  68. // sizeMode : 0 PikaCV_Check_Size Check size
  69. // 1 PikaCV_Check_SHW Check size,height and width
  70. // 2 PikaCV_Check_HW Check height and width
  71. PikaCV_Image* src1 = obj_getStruct(image1, "image");
  72. PikaCV_Image* src2 = obj_getStruct(image2, "image");
  73. switch (sizeMode) {
  74. case PikaCV_Check_Size:
  75. /* code */
  76. if (src1->size != src2->size) {
  77. return 0;
  78. } else {
  79. return 1;
  80. }
  81. break;
  82. case PikaCV_Check_SHW:
  83. /* code */
  84. if (src1->size != src2->size || src1->height != src2->height ||
  85. src1->width != src2->width) {
  86. return 0;
  87. } else {
  88. return 1;
  89. }
  90. break;
  91. case PikaCV_Check_HW:
  92. /* code */
  93. if (src1->height != src2->height || src1->width != src2->width) {
  94. return 0;
  95. } else {
  96. return 1;
  97. }
  98. break;
  99. default:
  100. break;
  101. }
  102. return 0;
  103. }