cv::Merge creates a 4 channel image instead of 3 channel (Bug #972)


Added by Eitan Marder-Eppstein almost 14 years ago. Updated almost 14 years ago.


Status:Done Start date:
Priority:High Due date:
Assignee:Patrick Mihelich % Done:

0%

Category:core
Target version:-
Affected version: Operating System:
Difficulty: HW Platform:
Pull request:

Description

cv::merge doesn't work properly when attempting to combine 3 1-Channel matrices. You'd expect a 3 channel matrix to be created. However, a 4 channel matrix is returned instead.

Patrick, assigning to you for now since you might be able to add more details. You can reassign it to whoever is appropriate after.


Associated revisions

Revision 98f6a4a6
Added by Roman Donchenko over 11 years ago

Merge pull request #972 from jet47:mog2-params-bug-2168

Revision 13cd0a05
Added by Roman Donchenko over 11 years ago

Merge remote-tracking branch 'origin/2.4'

Original pull requests:
#996 from jet47:gpu-nvcuvid-libraries
#995 from jet47:fix-bug-2985
#999 from snosov1:unreliable-results-fix
#1005 from alekcac:doc_fix
#1004 from jet47:fix-bug-3068
#987 from jet47:bug-3085-fix
#969 from pengx17:2.4_binary_cache
#929 from dominikrose:mingw-libdc1394-2-windows
#1000 from ivan-korolev:fix_sift_bug_2892
#1001 from ivan-korolev:fix_stitching_bug_2405
#998 from asmorkalov:android_cmake_mips_fix
#993 from ivan-korolev:fix_videostab_bug_3023
#988 from snosov1:3071-fix
#986 from pengx17:2.4_initiated_context
#982 from pengx17:2.4_fix_two_bugs
#981 from SeninAndrew:ximea_camera_support_fix
#991 from asmorkalov:android_javadoc_fix
#972 from jet47:mog2-params-bug-2168
#980 from SpecLad:include-config
#973 from pengx17:2.4_oclclahe
#903 from aks2:2.4
#968 from asmorkalov:android_na_cproj_fix
#971 from SpecLad:matchers-ctor
#970 from asmorkalov:dshow_valid_check_fix
#965 from apavlenko:fix_java_empty_mats

Conflicts:
cmake/OpenCVModule.cmake
modules/core/src/matmul.cpp
modules/gpu/CMakeLists.txt
modules/ocl/include/opencv2/ocl/ocl.hpp
modules/ocl/perf/perf_imgproc.cpp
modules/ocl/src/imgproc.cpp
modules/ocl/src/initialization.cpp
modules/stitching/src/matchers.cpp
modules/video/src/video_init.cpp
modules/videostab/src/global_motion.cpp

History

Updated by Vadim Pisarevsky almost 14 years ago

the bug can not be reproduced.
Here is the sample code.
#include "opencv2/core/core.hpp"
#include <iostream>

using namespace cv;
using namespace std;

int main(int, char**) {
Mat a(480, 640, CV_8U), b(a.size(), a.type()), c(a.size(), a.type());
Mat planes[] = {a, b, c}, d;
merge(planes, 3, d);
cout << d.channels() << endl;
return 0;
}

  • Status changed from Open to Done
  • (deleted custom field) set to worksforme

Also available in: Atom PDF