📄 dataset.mk
字号:
# - Search P_IMAGES for categories and .jpg files# - Populates P_SIFTS with the corresponding .key and .desc files# get categoriesCATS := $(shell ls $(P_IMAGES))# get images within categories (.jpg files)IMAGES := $(filter %.jpg, \ $(foreach c, $(CATS), \ $(addprefix $(c)/, \ $(shell ls $(P_IMAGES)/$(c)) )))# get output .key and .desc filesOKEYS := $(IMAGES:.jpg=.key)ODESCS := $(IMAGES:.jpg=.desc)all: $(P_SIFTS) $(addprefix $(P_SIFTS)/, $(CATS)) $(addprefix $(P_SIFTS)/, $(OKEYS) $(ODESCS))# --------------------------------------------------------------------# Rules# --------------------------------------------------------------------# make output hierarchy$(P_SIFTS) $(addprefix $(P_SIFTS)/,$(CATS)) : @echo Making directory $@ @mkdir -p $@# We define a rule for each image (implicit rules would not work here).# This macro generates a rule, $(eval) later is used to add the rules# to the makefile.#$(call one-rule, image-no-ext)define one-rule$(P_SIFTS)/$1.key $(P_SIFTS)/$1.desc : $(P_IMAGES)/$1.jpg convert $(P_IMAGES)/$1.jpg pgm:$(P_TMP)/$(notdir $1).pgm $(SIFT) $(SIFTFLAGS) \ --prefix=$(P_SIFTS)/$(dir $1) \ --binary $(P_TMP)/$(notdir $1).pgm rm $(P_TMP)/$(notdir $1).pgmendef$(eval $(foreach i, $(IMAGES:.jpg=), $(call one-rule,$(i))))# --------------------------------------------------------------------# Debug# --------------------------------------------------------------------.PHONY: infoinfo: @echo -e " CATS =" $(CATS) @echo -e " IMAGES =" $(wordlist 1,2,$(IMAGES)) "..." @echo -e " OKEYS =" $(wordlist 1,2,$(OKEYS)) "..." @echo -e " ODESCS =" $(wordlist 1,2,$(ODESCS)) "..."
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -