Thanks Dave for your reply, but either way I found out a more friendly way to do this that actually works:
To save:
CvFileStorage* Lfs = cvOpenFileStorage("L.yml", 0, CV_STORAGE_WRITE);
cvWrite(Lfs, "L", L);
cvReleaseFileStorage(&Lfs);
To read:
CvFileStorage* Lfs = cvOpenFileStorage("L.yml", 0, CV_STORAGE_READ);
IplImage *L = (IplImage*) cvReadByName(Lfs, 0, "L");
cvReleaseFileStorage(&Lfs);