The PermissionError might be raised, if you are trying to open a folder as a file, which seems to be the case for your code snippet, since you are trying to open a csv, but are passing the folder path instead.
To load the images, you could get all image paths in the CamVid.__init__ method e.g. via glob.glob or using os.walk.
Once you have all image paths, you could load each sample in CamVid.__getitem__ using the stored paths.
This tutorial 19 gives you a good overview on how to create a custom Dataset and pass it to a DataLoader.