【问题标题】:Error Cannot Initialize a Parameter of Type 'int *' with an rvalue type of 'int' [closed]错误无法使用右值类型“int”初始化“int *”类型的参数[关闭]
【发布时间】:2014-11-09 10:39:06
【问题描述】:

我正在使用 Mac OSX 10.9 在 OpenCV 2.4.9 中编写一个项目。我一直收到这个奇怪的错误,在标题中有详细说明,但似乎无法弄清楚。任何帮助表示赞赏,谢谢! AppDelegate.m 文件-

- (IBAction)manual:(id)sender {

    cv::VideoCapture cap(0);

    if ( !cap.isOpened()) {
        std::cout << "Cannot open the web cam" << std::endl;
    }

    cv::namedWindow("Control", CV_WINDOW_AUTOSIZE);
    cv::namedWindow("Manual Calibration", CV_WINDOW_AUTOSIZE);

    self.LH = 0;
    self.HH = 179;
    self.LS = 0;
    self.HS = 255;
    self.LV = 0;
    self.HV = 255;
    //int counter = 0;

//Error is here
    cv::createTrackbar("Low Hue- ", "Control", self.LH, 179);
    cv::createTrackbar("High Hue- ", "Control", self.HH, 179);
    cv::createTrackbar("Low Saturation- ", "Control", self.LS, 255);
    cv::createTrackbar("High Saturation- ", "Control", self.HS, 255);
    cv::createTrackbar("Low Value- ", "Control", self.LV, 255);
    cv::createTrackbar("High Value- ", "Control", self.HV, 255);


    while (true){
        cv::Mat testInitial;
        cap.read(testInitial);
        cv::Mat testHSV;
        cv::Mat test;
        cvtColor(testInitial, testHSV, CV_BGR2HSV);
        cv::inRange(testHSV,cv::Scalar((self.LH), (self.LS), (self.LV)),cv::Scalar((self.HH), (self.HS), (self.HV)),test);
        cv::imshow("Test", test);
        cv::waitKey(10);
    }
}

AppDelegate.h 文件-

#import <Cocoa/Cocoa.h>

@interface AppDelegate : NSObject <NSApplicationDelegate> {
    IBOutlet NSMenu *statusMenu;
    NSStatusItem *statusItem;
    NSImage *statusImage;
    NSImage *statusHighlightImage;
}

//Action
- (IBAction)start:(id)sender;
- (IBAction)manual:(id)sender;
- (IBAction)automatic:(id)sender;

@property (nonatomic, assign) int LH;
@property (nonatomic, assign) int HH;
@property (nonatomic, assign) int LS;
@property (nonatomic, assign) int HS;
@property (nonatomic, assign) int LV;
@property (nonatomic, assign) int HV;

@end

【问题讨论】:

    标签: c++ macos opencv


    【解决方案1】:

    您应该将整数变量的地址传递给 createTrackBar。

    int hue = 17; // start value
    cv::createTrackbar("Low Hue- ", "Control", &hue, 179);
    

    【讨论】:

    • 但我想记录色调值
    • 哪里有问题?
    • nvm 我明白你的意思。抱歉,我在黑客马拉松上发疯了
    猜你喜欢
    • 2023-03-15
    • 2012-01-07
    • 2021-10-26
    • 1970-01-01
    • 2019-10-05
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多